Termination w.r.t. Q of the following Term Rewriting System could not be shown:

Q restricted rewrite system:
The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.


QTRS
  ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.

Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

PROPER(U82(X1, X2)) → U821(proper(X1), proper(X2))
ACTIVE(U82(X1, X2)) → U821(active(X1), X2)
U911(mark(X1), X2) → U911(X1, X2)
PROPER(U55(X1, X2)) → PROPER(X2)
PROPER(U52(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X1)
ACTIVE(U82(X1, X2)) → ACTIVE(X1)
PROPER(U32(X1, X2)) → PROPER(X2)
ACTIVE(U73(X1, X2)) → U731(active(X1), X2)
PROPER(isQid(X)) → ISQID(proper(X))
PROPER(U24(X1, X2, X3)) → PROPER(X3)
ACTIVE(U71(X1, X2, X3)) → U711(active(X1), X2, X3)
PROPER(U11(X1, X2)) → U111(proper(X1), proper(X2))
ACTIVE(U32(tt, V)) → ISQID(V)
ACTIVE(U32(tt, V)) → U331(isQid(V))
PROPER(isNePal(X)) → PROPER(X)
PROPER(U31(X1, X2)) → PROPER(X1)
U331(ok(X)) → U331(X)
ACTIVE(isList(V)) → ISPALLISTKIND(V)
PROPER(U45(X1, X2)) → PROPER(X2)
ACTIVE(U72(X1, X2)) → U721(active(X1), X2)
ACTIVE(isNePal(V)) → U611(isPalListKind(V), V)
ACTIVE(U91(tt, V2)) → U921(isPalListKind(V2))
ACTIVE(U53(X1, X2, X3)) → ACTIVE(X1)
U731(mark(X1), X2) → U731(X1, X2)
ISNEPAL(ok(X)) → ISNEPAL(X)
ACTIVE(U25(X1, X2)) → U251(active(X1), X2)
ACTIVE(U73(X1, X2)) → ACTIVE(X1)
U311(mark(X1), X2) → U311(X1, X2)
ACTIVE(U62(tt, V)) → U631(isQid(V))
U811(mark(X1), X2) → U811(X1, X2)
ACTIVE(U43(tt, V1, V2)) → U441(isPalListKind(V2), V1, V2)
PROPER(U11(X1, X2)) → PROPER(X2)
PROPER(U32(X1, X2)) → PROPER(X1)
PROPER(U12(X1, X2)) → PROPER(X2)
ACTIVE(U51(tt, V1, V2)) → U521(isPalListKind(V1), V1, V2)
ACTIVE(isList(__(V1, V2))) → ISPALLISTKIND(V1)
U621(ok(X1), ok(X2)) → U621(X1, X2)
PROPER(U43(X1, X2, X3)) → U431(proper(X1), proper(X2), proper(X3))
ACTIVE(U32(X1, X2)) → ACTIVE(X1)
U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)
U461(ok(X)) → U461(X)
PROPER(isPalListKind(X)) → PROPER(X)
PROPER(U45(X1, X2)) → U451(proper(X1), proper(X2))
ACTIVE(U53(tt, V1, V2)) → U541(isPalListKind(V2), V1, V2)
ACTIVE(U92(X)) → U921(active(X))
ACTIVE(isNePal(V)) → ISPALLISTKIND(V)
U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)
__1(ok(X1), ok(X2)) → __1(X1, X2)
ACTIVE(U56(X)) → U561(active(X))
ACTIVE(U63(X)) → ACTIVE(X)
__1(mark(X1), X2) → __1(X1, X2)
U731(ok(X1), ok(X2)) → U731(X1, X2)
PROPER(U44(X1, X2, X3)) → PROPER(X3)
ACTIVE(isPal(V)) → ISPALLISTKIND(V)
ACTIVE(U83(X)) → ACTIVE(X)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
ACTIVE(U71(X1, X2, X3)) → ACTIVE(X1)
U241(mark(X1), X2, X3) → U241(X1, X2, X3)
PROPER(U52(X1, X2, X3)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → U411(proper(X1), proper(X2), proper(X3))
U241(ok(X1), ok(X2), ok(X3)) → U241(X1, X2, X3)
PROPER(__(X1, X2)) → __1(proper(X1), proper(X2))
PROPER(U82(X1, X2)) → PROPER(X1)
ACTIVE(U55(tt, V2)) → U561(isList(V2))
ACTIVE(U41(X1, X2, X3)) → U411(active(X1), X2, X3)
PROPER(U54(X1, X2, X3)) → PROPER(X1)
U631(ok(X)) → U631(X)
ACTIVE(U11(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U45(tt, V2)) → U461(isNeList(V2))
U821(mark(X1), X2) → U821(X1, X2)
U311(ok(X1), ok(X2)) → U311(X1, X2)
PROPER(U73(X1, X2)) → PROPER(X1)
PROPER(U56(X)) → U561(proper(X))
PROPER(U45(X1, X2)) → PROPER(X1)
PROPER(U92(X)) → PROPER(X)
PROPER(U52(X1, X2, X3)) → PROPER(X2)
ACTIVE(U53(X1, X2, X3)) → U531(active(X1), X2, X3)
PROPER(U23(X1, X2, X3)) → PROPER(X3)
ACTIVE(U72(tt, P)) → ISPAL(P)
ACTIVE(isNeList(V)) → U311(isPalListKind(V), V)
ACTIVE(U23(tt, V1, V2)) → U241(isPalListKind(V2), V1, V2)
PROPER(U56(X)) → PROPER(X)
U831(mark(X)) → U831(X)
U131(mark(X)) → U131(X)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U721(ok(X1), ok(X2)) → U721(X1, X2)
PROPER(U22(X1, X2, X3)) → PROPER(X3)
PROPER(U71(X1, X2, X3)) → PROPER(X3)
PROPER(U54(X1, X2, X3)) → PROPER(X3)
ACTIVE(U33(X)) → ACTIVE(X)
ACTIVE(U45(X1, X2)) → ACTIVE(X1)
ACTIVE(U12(X1, X2)) → ACTIVE(X1)
U541(mark(X1), X2, X3) → U541(X1, X2, X3)
PROPER(U71(X1, X2, X3)) → PROPER(X1)
PROPER(U25(X1, X2)) → PROPER(X1)
ACTIVE(U56(X)) → ACTIVE(X)
U121(ok(X1), ok(X2)) → U121(X1, X2)
ACTIVE(U62(X1, X2)) → ACTIVE(X1)
U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)
ACTIVE(U62(tt, V)) → ISQID(V)
PROPER(U44(X1, X2, X3)) → PROPER(X1)
ISPAL(ok(X)) → ISPAL(X)
U831(ok(X)) → U831(X)
PROPER(U73(X1, X2)) → PROPER(X2)
PROPER(U61(X1, X2)) → PROPER(X2)
ACTIVE(U81(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U24(tt, V1, V2)) → ISLIST(V1)
PROPER(isPalListKind(X)) → ISPALLISTKIND(proper(X))
PROPER(U72(X1, X2)) → PROPER(X1)
ACTIVE(U24(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U73(tt, P)) → U741(isPalListKind(P))
PROPER(U55(X1, X2)) → PROPER(X1)
ACTIVE(U33(X)) → U331(active(X))
U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)
ACTIVE(U24(tt, V1, V2)) → U251(isList(V1), V2)
PROPER(U63(X)) → PROPER(X)
ACTIVE(U63(X)) → U631(active(X))
ACTIVE(U81(X1, X2)) → ACTIVE(X1)
PROPER(U23(X1, X2, X3)) → U231(proper(X1), proper(X2), proper(X3))
ACTIVE(isPalListKind(__(V1, V2))) → U911(isPalListKind(V1), V2)
ACTIVE(U11(tt, V)) → U121(isPalListKind(V), V)
PROPER(U46(X)) → U461(proper(X))
ACTIVE(U82(tt, V)) → ISNEPAL(V)
U251(ok(X1), ok(X2)) → U251(X1, X2)
U561(mark(X)) → U561(X)
PROPER(U52(X1, X2, X3)) → U521(proper(X1), proper(X2), proper(X3))
PROPER(U61(X1, X2)) → U611(proper(X1), proper(X2))
ACTIVE(U26(X)) → ACTIVE(X)
ACTIVE(U46(X)) → U461(active(X))
PROPER(U24(X1, X2, X3)) → PROPER(X2)
ACTIVE(U52(tt, V1, V2)) → ISPALLISTKIND(V2)
PROPER(U12(X1, X2)) → U121(proper(X1), proper(X2))
U111(ok(X1), ok(X2)) → U111(X1, X2)
PROPER(U53(X1, X2, X3)) → U531(proper(X1), proper(X2), proper(X3))
PROPER(U46(X)) → PROPER(X)
ACTIVE(U45(X1, X2)) → U451(active(X1), X2)
PROPER(U25(X1, X2)) → U251(proper(X1), proper(X2))
ACTIVE(U53(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U25(tt, V2)) → ISLIST(V2)
PROPER(U41(X1, X2, X3)) → PROPER(X2)
PROPER(isList(X)) → PROPER(X)
ACTIVE(U24(X1, X2, X3)) → U241(active(X1), X2, X3)
ACTIVE(U22(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U62(X1, X2)) → U621(active(X1), X2)
PROPER(isPal(X)) → PROPER(X)
PROPER(U83(X)) → U831(proper(X))
U741(mark(X)) → U741(X)
U921(ok(X)) → U921(X)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U621(mark(X1), X2) → U621(X1, X2)
PROPER(U23(X1, X2, X3)) → PROPER(X2)
U321(mark(X1), X2) → U321(X1, X2)
ISPALLISTKIND(ok(X)) → ISPALLISTKIND(X)
ACTIVE(U54(tt, V1, V2)) → U551(isNeList(V1), V2)
ACTIVE(__(X1, X2)) → ACTIVE(X2)
ACTIVE(U51(X1, X2, X3)) → ACTIVE(X1)
U611(mark(X1), X2) → U611(X1, X2)
TOP(ok(X)) → TOP(active(X))
ACTIVE(U12(tt, V)) → ISNELIST(V)
ACTIVE(U43(X1, X2, X3)) → U431(active(X1), X2, X3)
U451(ok(X1), ok(X2)) → U451(X1, X2)
U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
ACTIVE(U71(tt, I, P)) → ISPALLISTKIND(I)
PROPER(U43(X1, X2, X3)) → PROPER(X3)
PROPER(isNeList(X)) → PROPER(X)
ACTIVE(U41(X1, X2, X3)) → ACTIVE(X1)
PROPER(U44(X1, X2, X3)) → U441(proper(X1), proper(X2), proper(X3))
PROPER(U33(X)) → U331(proper(X))
ISQID(ok(X)) → ISQID(X)
U261(ok(X)) → U261(X)
ACTIVE(U23(X1, X2, X3)) → U231(active(X1), X2, X3)
__1(X1, mark(X2)) → __1(X1, X2)
PROPER(U81(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X1)
ACTIVE(U25(X1, X2)) → ACTIVE(X1)
U431(mark(X1), X2, X3) → U431(X1, X2, X3)
PROPER(U71(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X)) → U131(proper(X))
ACTIVE(U51(tt, V1, V2)) → ISPALLISTKIND(V1)
ACTIVE(U41(tt, V1, V2)) → ISPALLISTKIND(V1)
PROPER(isNeList(X)) → ISNELIST(proper(X))
ACTIVE(__(__(X, Y), Z)) → __1(Y, Z)
PROPER(U62(X1, X2)) → U621(proper(X1), proper(X2))
ACTIVE(U52(X1, X2, X3)) → U521(active(X1), X2, X3)
PROPER(U26(X)) → PROPER(X)
ACTIVE(U44(tt, V1, V2)) → U451(isList(V1), V2)
PROPER(U11(X1, X2)) → PROPER(X1)
PROPER(U23(X1, X2, X3)) → PROPER(X1)
ACTIVE(U43(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U74(X)) → ACTIVE(X)
PROPER(U74(X)) → PROPER(X)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U711(ok(X1), ok(X2), ok(X3)) → U711(X1, X2, X3)
ACTIVE(U74(X)) → U741(active(X))
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
U741(ok(X)) → U741(X)
ACTIVE(U22(X1, X2, X3)) → ACTIVE(X1)
PROPER(U25(X1, X2)) → PROPER(X2)
ACTIVE(U13(X)) → ACTIVE(X)
PROPER(U62(X1, X2)) → PROPER(X2)
ACTIVE(U61(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U23(X1, X2, X3)) → ACTIVE(X1)
PROPER(isQid(X)) → PROPER(X)
U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)
ACTIVE(isNeList(__(V1, V2))) → ISPALLISTKIND(V1)
ACTIVE(U52(tt, V1, V2)) → U531(isPalListKind(V2), V1, V2)
U631(mark(X)) → U631(X)
PROPER(U12(X1, X2)) → PROPER(X1)
ACTIVE(U41(tt, V1, V2)) → U421(isPalListKind(V1), V1, V2)
ACTIVE(U42(tt, V1, V2)) → U431(isPalListKind(V2), V1, V2)
ACTIVE(U31(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X1, X2, X3)) → ACTIVE(X1)
U821(ok(X1), ok(X2)) → U821(X1, X2)
PROPER(U53(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNeList(V)) → ISPALLISTKIND(V)
U811(ok(X1), ok(X2)) → U811(X1, X2)
PROPER(U63(X)) → U631(proper(X))
ACTIVE(U91(X1, X2)) → U911(active(X1), X2)
U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)
ACTIVE(U11(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(tt, V1, V2)) → U231(isPalListKind(V2), V1, V2)
PROPER(U74(X)) → U741(proper(X))
ACTIVE(__(X1, X2)) → ACTIVE(X1)
ACTIVE(U12(tt, V)) → U131(isNeList(V))
U551(ok(X1), ok(X2)) → U551(X1, X2)
PROPER(U91(X1, X2)) → U911(proper(X1), proper(X2))
PROPER(U82(X1, X2)) → PROPER(X2)
ACTIVE(U21(tt, V1, V2)) → ISPALLISTKIND(V1)
ACTIVE(U46(X)) → ACTIVE(X)
ACTIVE(__(X1, X2)) → __1(active(X1), X2)
PROPER(U22(X1, X2, X3)) → PROPER(X2)
U611(ok(X1), ok(X2)) → U611(X1, X2)
ACTIVE(U21(X1, X2, X3)) → U211(active(X1), X2, X3)
ACTIVE(U61(X1, X2)) → U611(active(X1), X2)
ACTIVE(U22(X1, X2, X3)) → U221(active(X1), X2, X3)
U461(mark(X)) → U461(X)
PROPER(U71(X1, X2, X3)) → U711(proper(X1), proper(X2), proper(X3))
TOP(mark(X)) → PROPER(X)
PROPER(__(X1, X2)) → PROPER(X2)
PROPER(U31(X1, X2)) → U311(proper(X1), proper(X2))
U251(mark(X1), X2) → U251(X1, X2)
ACTIVE(U72(tt, P)) → U731(isPal(P), P)
TOP(ok(X)) → ACTIVE(X)
U911(ok(X1), ok(X2)) → U911(X1, X2)
ACTIVE(U54(X1, X2, X3)) → U541(active(X1), X2, X3)
PROPER(U44(X1, X2, X3)) → PROPER(X2)
PROPER(U24(X1, X2, X3)) → U241(proper(X1), proper(X2), proper(X3))
ACTIVE(U55(X1, X2)) → U551(active(X1), X2)
ACTIVE(U83(X)) → U831(active(X))
U721(mark(X1), X2) → U721(X1, X2)
U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)
PROPER(U81(X1, X2)) → PROPER(X2)
U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
ACTIVE(U92(X)) → ACTIVE(X)
ACTIVE(U55(tt, V2)) → ISLIST(V2)
ACTIVE(U91(tt, V2)) → ISPALLISTKIND(V2)
ACTIVE(isPal(V)) → U811(isPalListKind(V), V)
PROPER(isNePal(X)) → ISNEPAL(proper(X))
U321(ok(X1), ok(X2)) → U321(X1, X2)
ISLIST(ok(X)) → ISLIST(X)
ACTIVE(U23(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U25(tt, V2)) → U261(isList(V2))
PROPER(U83(X)) → PROPER(X)
ACTIVE(__(__(X, Y), Z)) → __1(X, __(Y, Z))
PROPER(U43(X1, X2, X3)) → PROPER(X2)
U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
PROPER(U33(X)) → PROPER(X)
ACTIVE(U54(X1, X2, X3)) → ACTIVE(X1)
U121(mark(X1), X2) → U121(X1, X2)
PROPER(U21(X1, X2, X3)) → PROPER(X2)
PROPER(U62(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → U421(proper(X1), proper(X2), proper(X3))
PROPER(U51(X1, X2, X3)) → PROPER(X2)
ACTIVE(isNeList(__(V1, V2))) → U511(isPalListKind(V1), V1, V2)
ACTIVE(U61(tt, V)) → U621(isPalListKind(V), V)
U131(ok(X)) → U131(X)
PROPER(U24(X1, X2, X3)) → PROPER(X1)
ACTIVE(U52(X1, X2, X3)) → ACTIVE(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
U551(mark(X1), X2) → U551(X1, X2)
U421(mark(X1), X2, X3) → U421(X1, X2, X3)
PROPER(U81(X1, X2)) → U811(proper(X1), proper(X2))
ACTIVE(U32(X1, X2)) → U321(active(X1), X2)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)
PROPER(U13(X)) → PROPER(X)
ACTIVE(U42(X1, X2, X3)) → U421(active(X1), X2, X3)
U451(mark(X1), X2) → U451(X1, X2)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
U331(mark(X)) → U331(X)
PROPER(__(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → U721(proper(X1), proper(X2))
ACTIVE(U71(tt, I, P)) → U721(isPalListKind(I), P)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X3)
PROPER(U41(X1, X2, X3)) → PROPER(X1)
ACTIVE(U31(tt, V)) → U321(isPalListKind(V), V)
ACTIVE(U55(X1, X2)) → ACTIVE(X1)
ACTIVE(U31(X1, X2)) → U311(active(X1), X2)
ACTIVE(U44(X1, X2, X3)) → U441(active(X1), X2, X3)
PROPER(U41(X1, X2, X3)) → PROPER(X3)
PROPER(U55(X1, X2)) → U551(proper(X1), proper(X2))
ISNELIST(ok(X)) → ISNELIST(X)
PROPER(U21(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNePal(__(I, __(P, I)))) → U711(isQid(I), I, P)
ACTIVE(U31(tt, V)) → ISPALLISTKIND(V)
PROPER(U91(X1, X2)) → PROPER(X1)
ACTIVE(U44(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U44(tt, V1, V2)) → ISLIST(V1)
PROPER(U51(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNePal(__(I, __(P, I)))) → ISQID(I)
ACTIVE(U73(tt, P)) → ISPALLISTKIND(P)
U441(mark(X1), X2, X3) → U441(X1, X2, X3)
PROPER(U42(X1, X2, X3)) → PROPER(X2)
ACTIVE(U81(X1, X2)) → U811(active(X1), X2)
ACTIVE(U54(tt, V1, V2)) → ISNELIST(V1)
U111(mark(X1), X2) → U111(X1, X2)
PROPER(U22(X1, X2, X3)) → U221(proper(X1), proper(X2), proper(X3))
ACTIVE(U13(X)) → U131(active(X))
PROPER(U73(X1, X2)) → U731(proper(X1), proper(X2))
ACTIVE(U26(X)) → U261(active(X))
PROPER(isPal(X)) → ISPAL(proper(X))
PROPER(U53(X1, X2, X3)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
U561(ok(X)) → U561(X)
PROPER(U92(X)) → U921(proper(X))
PROPER(U32(X1, X2)) → U321(proper(X1), proper(X2))
ACTIVE(U43(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U51(X1, X2, X3)) → U511(active(X1), X2, X3)
U261(mark(X)) → U261(X)
ACTIVE(U21(tt, V1, V2)) → U221(isPalListKind(V1), V1, V2)
U921(mark(X)) → U921(X)
U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
ACTIVE(U21(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(isPalListKind(__(V1, V2))) → ISPALLISTKIND(V1)
PROPER(U53(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → U541(proper(X1), proper(X2), proper(X3))
PROPER(U21(X1, X2, X3)) → U211(proper(X1), proper(X2), proper(X3))
ACTIVE(U11(X1, X2)) → U111(active(X1), X2)
ACTIVE(U42(tt, V1, V2)) → ISPALLISTKIND(V2)
PROPER(U61(X1, X2)) → PROPER(X1)
ACTIVE(U45(tt, V2)) → ISNELIST(V2)
PROPER(U54(X1, X2, X3)) → PROPER(X2)
ACTIVE(isList(__(V1, V2))) → U211(isPalListKind(V1), V1, V2)
ACTIVE(U81(tt, V)) → U821(isPalListKind(V), V)
ACTIVE(U82(tt, V)) → U831(isNePal(V))
PROPER(U43(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2)) → PROPER(X2)
ACTIVE(isNeList(__(V1, V2))) → U411(isPalListKind(V1), V1, V2)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
PROPER(U26(X)) → U261(proper(X))
PROPER(U22(X1, X2, X3)) → PROPER(X1)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)
ACTIVE(isList(V)) → U111(isPalListKind(V), V)
TOP(mark(X)) → TOP(proper(X))
PROPER(U51(X1, X2, X3)) → U511(proper(X1), proper(X2), proper(X3))
PROPER(isList(X)) → ISLIST(proper(X))
ACTIVE(U12(X1, X2)) → U121(active(X1), X2)
ACTIVE(__(X1, X2)) → __1(X1, active(X2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

PROPER(U82(X1, X2)) → U821(proper(X1), proper(X2))
ACTIVE(U82(X1, X2)) → U821(active(X1), X2)
U911(mark(X1), X2) → U911(X1, X2)
PROPER(U55(X1, X2)) → PROPER(X2)
PROPER(U52(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X1)
ACTIVE(U82(X1, X2)) → ACTIVE(X1)
PROPER(U32(X1, X2)) → PROPER(X2)
ACTIVE(U73(X1, X2)) → U731(active(X1), X2)
PROPER(isQid(X)) → ISQID(proper(X))
PROPER(U24(X1, X2, X3)) → PROPER(X3)
ACTIVE(U71(X1, X2, X3)) → U711(active(X1), X2, X3)
PROPER(U11(X1, X2)) → U111(proper(X1), proper(X2))
ACTIVE(U32(tt, V)) → ISQID(V)
ACTIVE(U32(tt, V)) → U331(isQid(V))
PROPER(isNePal(X)) → PROPER(X)
PROPER(U31(X1, X2)) → PROPER(X1)
U331(ok(X)) → U331(X)
ACTIVE(isList(V)) → ISPALLISTKIND(V)
PROPER(U45(X1, X2)) → PROPER(X2)
ACTIVE(U72(X1, X2)) → U721(active(X1), X2)
ACTIVE(isNePal(V)) → U611(isPalListKind(V), V)
ACTIVE(U91(tt, V2)) → U921(isPalListKind(V2))
ACTIVE(U53(X1, X2, X3)) → ACTIVE(X1)
U731(mark(X1), X2) → U731(X1, X2)
ISNEPAL(ok(X)) → ISNEPAL(X)
ACTIVE(U25(X1, X2)) → U251(active(X1), X2)
ACTIVE(U73(X1, X2)) → ACTIVE(X1)
U311(mark(X1), X2) → U311(X1, X2)
ACTIVE(U62(tt, V)) → U631(isQid(V))
U811(mark(X1), X2) → U811(X1, X2)
ACTIVE(U43(tt, V1, V2)) → U441(isPalListKind(V2), V1, V2)
PROPER(U11(X1, X2)) → PROPER(X2)
PROPER(U32(X1, X2)) → PROPER(X1)
PROPER(U12(X1, X2)) → PROPER(X2)
ACTIVE(U51(tt, V1, V2)) → U521(isPalListKind(V1), V1, V2)
ACTIVE(isList(__(V1, V2))) → ISPALLISTKIND(V1)
U621(ok(X1), ok(X2)) → U621(X1, X2)
PROPER(U43(X1, X2, X3)) → U431(proper(X1), proper(X2), proper(X3))
ACTIVE(U32(X1, X2)) → ACTIVE(X1)
U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)
U461(ok(X)) → U461(X)
PROPER(isPalListKind(X)) → PROPER(X)
PROPER(U45(X1, X2)) → U451(proper(X1), proper(X2))
ACTIVE(U53(tt, V1, V2)) → U541(isPalListKind(V2), V1, V2)
ACTIVE(U92(X)) → U921(active(X))
ACTIVE(isNePal(V)) → ISPALLISTKIND(V)
U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)
__1(ok(X1), ok(X2)) → __1(X1, X2)
ACTIVE(U56(X)) → U561(active(X))
ACTIVE(U63(X)) → ACTIVE(X)
__1(mark(X1), X2) → __1(X1, X2)
U731(ok(X1), ok(X2)) → U731(X1, X2)
PROPER(U44(X1, X2, X3)) → PROPER(X3)
ACTIVE(isPal(V)) → ISPALLISTKIND(V)
ACTIVE(U83(X)) → ACTIVE(X)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
ACTIVE(U71(X1, X2, X3)) → ACTIVE(X1)
U241(mark(X1), X2, X3) → U241(X1, X2, X3)
PROPER(U52(X1, X2, X3)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → U411(proper(X1), proper(X2), proper(X3))
U241(ok(X1), ok(X2), ok(X3)) → U241(X1, X2, X3)
PROPER(__(X1, X2)) → __1(proper(X1), proper(X2))
PROPER(U82(X1, X2)) → PROPER(X1)
ACTIVE(U55(tt, V2)) → U561(isList(V2))
ACTIVE(U41(X1, X2, X3)) → U411(active(X1), X2, X3)
PROPER(U54(X1, X2, X3)) → PROPER(X1)
U631(ok(X)) → U631(X)
ACTIVE(U11(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U45(tt, V2)) → U461(isNeList(V2))
U821(mark(X1), X2) → U821(X1, X2)
U311(ok(X1), ok(X2)) → U311(X1, X2)
PROPER(U73(X1, X2)) → PROPER(X1)
PROPER(U56(X)) → U561(proper(X))
PROPER(U45(X1, X2)) → PROPER(X1)
PROPER(U92(X)) → PROPER(X)
PROPER(U52(X1, X2, X3)) → PROPER(X2)
ACTIVE(U53(X1, X2, X3)) → U531(active(X1), X2, X3)
PROPER(U23(X1, X2, X3)) → PROPER(X3)
ACTIVE(U72(tt, P)) → ISPAL(P)
ACTIVE(isNeList(V)) → U311(isPalListKind(V), V)
ACTIVE(U23(tt, V1, V2)) → U241(isPalListKind(V2), V1, V2)
PROPER(U56(X)) → PROPER(X)
U831(mark(X)) → U831(X)
U131(mark(X)) → U131(X)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U721(ok(X1), ok(X2)) → U721(X1, X2)
PROPER(U22(X1, X2, X3)) → PROPER(X3)
PROPER(U71(X1, X2, X3)) → PROPER(X3)
PROPER(U54(X1, X2, X3)) → PROPER(X3)
ACTIVE(U33(X)) → ACTIVE(X)
ACTIVE(U45(X1, X2)) → ACTIVE(X1)
ACTIVE(U12(X1, X2)) → ACTIVE(X1)
U541(mark(X1), X2, X3) → U541(X1, X2, X3)
PROPER(U71(X1, X2, X3)) → PROPER(X1)
PROPER(U25(X1, X2)) → PROPER(X1)
ACTIVE(U56(X)) → ACTIVE(X)
U121(ok(X1), ok(X2)) → U121(X1, X2)
ACTIVE(U62(X1, X2)) → ACTIVE(X1)
U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)
ACTIVE(U62(tt, V)) → ISQID(V)
PROPER(U44(X1, X2, X3)) → PROPER(X1)
ISPAL(ok(X)) → ISPAL(X)
U831(ok(X)) → U831(X)
PROPER(U73(X1, X2)) → PROPER(X2)
PROPER(U61(X1, X2)) → PROPER(X2)
ACTIVE(U81(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U24(tt, V1, V2)) → ISLIST(V1)
PROPER(isPalListKind(X)) → ISPALLISTKIND(proper(X))
PROPER(U72(X1, X2)) → PROPER(X1)
ACTIVE(U24(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U73(tt, P)) → U741(isPalListKind(P))
PROPER(U55(X1, X2)) → PROPER(X1)
ACTIVE(U33(X)) → U331(active(X))
U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)
ACTIVE(U24(tt, V1, V2)) → U251(isList(V1), V2)
PROPER(U63(X)) → PROPER(X)
ACTIVE(U63(X)) → U631(active(X))
ACTIVE(U81(X1, X2)) → ACTIVE(X1)
PROPER(U23(X1, X2, X3)) → U231(proper(X1), proper(X2), proper(X3))
ACTIVE(isPalListKind(__(V1, V2))) → U911(isPalListKind(V1), V2)
ACTIVE(U11(tt, V)) → U121(isPalListKind(V), V)
PROPER(U46(X)) → U461(proper(X))
ACTIVE(U82(tt, V)) → ISNEPAL(V)
U251(ok(X1), ok(X2)) → U251(X1, X2)
U561(mark(X)) → U561(X)
PROPER(U52(X1, X2, X3)) → U521(proper(X1), proper(X2), proper(X3))
PROPER(U61(X1, X2)) → U611(proper(X1), proper(X2))
ACTIVE(U26(X)) → ACTIVE(X)
ACTIVE(U46(X)) → U461(active(X))
PROPER(U24(X1, X2, X3)) → PROPER(X2)
ACTIVE(U52(tt, V1, V2)) → ISPALLISTKIND(V2)
PROPER(U12(X1, X2)) → U121(proper(X1), proper(X2))
U111(ok(X1), ok(X2)) → U111(X1, X2)
PROPER(U53(X1, X2, X3)) → U531(proper(X1), proper(X2), proper(X3))
PROPER(U46(X)) → PROPER(X)
ACTIVE(U45(X1, X2)) → U451(active(X1), X2)
PROPER(U25(X1, X2)) → U251(proper(X1), proper(X2))
ACTIVE(U53(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U25(tt, V2)) → ISLIST(V2)
PROPER(U41(X1, X2, X3)) → PROPER(X2)
PROPER(isList(X)) → PROPER(X)
ACTIVE(U24(X1, X2, X3)) → U241(active(X1), X2, X3)
ACTIVE(U22(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U62(X1, X2)) → U621(active(X1), X2)
PROPER(isPal(X)) → PROPER(X)
PROPER(U83(X)) → U831(proper(X))
U741(mark(X)) → U741(X)
U921(ok(X)) → U921(X)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U621(mark(X1), X2) → U621(X1, X2)
PROPER(U23(X1, X2, X3)) → PROPER(X2)
U321(mark(X1), X2) → U321(X1, X2)
ISPALLISTKIND(ok(X)) → ISPALLISTKIND(X)
ACTIVE(U54(tt, V1, V2)) → U551(isNeList(V1), V2)
ACTIVE(__(X1, X2)) → ACTIVE(X2)
ACTIVE(U51(X1, X2, X3)) → ACTIVE(X1)
U611(mark(X1), X2) → U611(X1, X2)
TOP(ok(X)) → TOP(active(X))
ACTIVE(U12(tt, V)) → ISNELIST(V)
ACTIVE(U43(X1, X2, X3)) → U431(active(X1), X2, X3)
U451(ok(X1), ok(X2)) → U451(X1, X2)
U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
ACTIVE(U71(tt, I, P)) → ISPALLISTKIND(I)
PROPER(U43(X1, X2, X3)) → PROPER(X3)
PROPER(isNeList(X)) → PROPER(X)
ACTIVE(U41(X1, X2, X3)) → ACTIVE(X1)
PROPER(U44(X1, X2, X3)) → U441(proper(X1), proper(X2), proper(X3))
PROPER(U33(X)) → U331(proper(X))
ISQID(ok(X)) → ISQID(X)
U261(ok(X)) → U261(X)
ACTIVE(U23(X1, X2, X3)) → U231(active(X1), X2, X3)
__1(X1, mark(X2)) → __1(X1, X2)
PROPER(U81(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X1)
ACTIVE(U25(X1, X2)) → ACTIVE(X1)
U431(mark(X1), X2, X3) → U431(X1, X2, X3)
PROPER(U71(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X)) → U131(proper(X))
ACTIVE(U51(tt, V1, V2)) → ISPALLISTKIND(V1)
ACTIVE(U41(tt, V1, V2)) → ISPALLISTKIND(V1)
PROPER(isNeList(X)) → ISNELIST(proper(X))
ACTIVE(__(__(X, Y), Z)) → __1(Y, Z)
PROPER(U62(X1, X2)) → U621(proper(X1), proper(X2))
ACTIVE(U52(X1, X2, X3)) → U521(active(X1), X2, X3)
PROPER(U26(X)) → PROPER(X)
ACTIVE(U44(tt, V1, V2)) → U451(isList(V1), V2)
PROPER(U11(X1, X2)) → PROPER(X1)
PROPER(U23(X1, X2, X3)) → PROPER(X1)
ACTIVE(U43(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U74(X)) → ACTIVE(X)
PROPER(U74(X)) → PROPER(X)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U711(ok(X1), ok(X2), ok(X3)) → U711(X1, X2, X3)
ACTIVE(U74(X)) → U741(active(X))
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
U741(ok(X)) → U741(X)
ACTIVE(U22(X1, X2, X3)) → ACTIVE(X1)
PROPER(U25(X1, X2)) → PROPER(X2)
ACTIVE(U13(X)) → ACTIVE(X)
PROPER(U62(X1, X2)) → PROPER(X2)
ACTIVE(U61(tt, V)) → ISPALLISTKIND(V)
ACTIVE(U23(X1, X2, X3)) → ACTIVE(X1)
PROPER(isQid(X)) → PROPER(X)
U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)
ACTIVE(isNeList(__(V1, V2))) → ISPALLISTKIND(V1)
ACTIVE(U52(tt, V1, V2)) → U531(isPalListKind(V2), V1, V2)
U631(mark(X)) → U631(X)
PROPER(U12(X1, X2)) → PROPER(X1)
ACTIVE(U41(tt, V1, V2)) → U421(isPalListKind(V1), V1, V2)
ACTIVE(U42(tt, V1, V2)) → U431(isPalListKind(V2), V1, V2)
ACTIVE(U31(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X1, X2, X3)) → ACTIVE(X1)
U821(ok(X1), ok(X2)) → U821(X1, X2)
PROPER(U53(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNeList(V)) → ISPALLISTKIND(V)
U811(ok(X1), ok(X2)) → U811(X1, X2)
PROPER(U63(X)) → U631(proper(X))
ACTIVE(U91(X1, X2)) → U911(active(X1), X2)
U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)
ACTIVE(U11(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(tt, V1, V2)) → U231(isPalListKind(V2), V1, V2)
PROPER(U74(X)) → U741(proper(X))
ACTIVE(__(X1, X2)) → ACTIVE(X1)
ACTIVE(U12(tt, V)) → U131(isNeList(V))
U551(ok(X1), ok(X2)) → U551(X1, X2)
PROPER(U91(X1, X2)) → U911(proper(X1), proper(X2))
PROPER(U82(X1, X2)) → PROPER(X2)
ACTIVE(U21(tt, V1, V2)) → ISPALLISTKIND(V1)
ACTIVE(U46(X)) → ACTIVE(X)
ACTIVE(__(X1, X2)) → __1(active(X1), X2)
PROPER(U22(X1, X2, X3)) → PROPER(X2)
U611(ok(X1), ok(X2)) → U611(X1, X2)
ACTIVE(U21(X1, X2, X3)) → U211(active(X1), X2, X3)
ACTIVE(U61(X1, X2)) → U611(active(X1), X2)
ACTIVE(U22(X1, X2, X3)) → U221(active(X1), X2, X3)
U461(mark(X)) → U461(X)
PROPER(U71(X1, X2, X3)) → U711(proper(X1), proper(X2), proper(X3))
TOP(mark(X)) → PROPER(X)
PROPER(__(X1, X2)) → PROPER(X2)
PROPER(U31(X1, X2)) → U311(proper(X1), proper(X2))
U251(mark(X1), X2) → U251(X1, X2)
ACTIVE(U72(tt, P)) → U731(isPal(P), P)
TOP(ok(X)) → ACTIVE(X)
U911(ok(X1), ok(X2)) → U911(X1, X2)
ACTIVE(U54(X1, X2, X3)) → U541(active(X1), X2, X3)
PROPER(U44(X1, X2, X3)) → PROPER(X2)
PROPER(U24(X1, X2, X3)) → U241(proper(X1), proper(X2), proper(X3))
ACTIVE(U55(X1, X2)) → U551(active(X1), X2)
ACTIVE(U83(X)) → U831(active(X))
U721(mark(X1), X2) → U721(X1, X2)
U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)
PROPER(U81(X1, X2)) → PROPER(X2)
U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
ACTIVE(U92(X)) → ACTIVE(X)
ACTIVE(U55(tt, V2)) → ISLIST(V2)
ACTIVE(U91(tt, V2)) → ISPALLISTKIND(V2)
ACTIVE(isPal(V)) → U811(isPalListKind(V), V)
PROPER(isNePal(X)) → ISNEPAL(proper(X))
U321(ok(X1), ok(X2)) → U321(X1, X2)
ISLIST(ok(X)) → ISLIST(X)
ACTIVE(U23(tt, V1, V2)) → ISPALLISTKIND(V2)
ACTIVE(U25(tt, V2)) → U261(isList(V2))
PROPER(U83(X)) → PROPER(X)
ACTIVE(__(__(X, Y), Z)) → __1(X, __(Y, Z))
PROPER(U43(X1, X2, X3)) → PROPER(X2)
U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
PROPER(U33(X)) → PROPER(X)
ACTIVE(U54(X1, X2, X3)) → ACTIVE(X1)
U121(mark(X1), X2) → U121(X1, X2)
PROPER(U21(X1, X2, X3)) → PROPER(X2)
PROPER(U62(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → U421(proper(X1), proper(X2), proper(X3))
PROPER(U51(X1, X2, X3)) → PROPER(X2)
ACTIVE(isNeList(__(V1, V2))) → U511(isPalListKind(V1), V1, V2)
ACTIVE(U61(tt, V)) → U621(isPalListKind(V), V)
U131(ok(X)) → U131(X)
PROPER(U24(X1, X2, X3)) → PROPER(X1)
ACTIVE(U52(X1, X2, X3)) → ACTIVE(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
U551(mark(X1), X2) → U551(X1, X2)
U421(mark(X1), X2, X3) → U421(X1, X2, X3)
PROPER(U81(X1, X2)) → U811(proper(X1), proper(X2))
ACTIVE(U32(X1, X2)) → U321(active(X1), X2)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)
PROPER(U13(X)) → PROPER(X)
ACTIVE(U42(X1, X2, X3)) → U421(active(X1), X2, X3)
U451(mark(X1), X2) → U451(X1, X2)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
U331(mark(X)) → U331(X)
PROPER(__(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → U721(proper(X1), proper(X2))
ACTIVE(U71(tt, I, P)) → U721(isPalListKind(I), P)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X3)
PROPER(U41(X1, X2, X3)) → PROPER(X1)
ACTIVE(U31(tt, V)) → U321(isPalListKind(V), V)
ACTIVE(U55(X1, X2)) → ACTIVE(X1)
ACTIVE(U31(X1, X2)) → U311(active(X1), X2)
ACTIVE(U44(X1, X2, X3)) → U441(active(X1), X2, X3)
PROPER(U41(X1, X2, X3)) → PROPER(X3)
PROPER(U55(X1, X2)) → U551(proper(X1), proper(X2))
ISNELIST(ok(X)) → ISNELIST(X)
PROPER(U21(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNePal(__(I, __(P, I)))) → U711(isQid(I), I, P)
ACTIVE(U31(tt, V)) → ISPALLISTKIND(V)
PROPER(U91(X1, X2)) → PROPER(X1)
ACTIVE(U44(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U44(tt, V1, V2)) → ISLIST(V1)
PROPER(U51(X1, X2, X3)) → PROPER(X3)
ACTIVE(isNePal(__(I, __(P, I)))) → ISQID(I)
ACTIVE(U73(tt, P)) → ISPALLISTKIND(P)
U441(mark(X1), X2, X3) → U441(X1, X2, X3)
PROPER(U42(X1, X2, X3)) → PROPER(X2)
ACTIVE(U81(X1, X2)) → U811(active(X1), X2)
ACTIVE(U54(tt, V1, V2)) → ISNELIST(V1)
U111(mark(X1), X2) → U111(X1, X2)
PROPER(U22(X1, X2, X3)) → U221(proper(X1), proper(X2), proper(X3))
ACTIVE(U13(X)) → U131(active(X))
PROPER(U73(X1, X2)) → U731(proper(X1), proper(X2))
ACTIVE(U26(X)) → U261(active(X))
PROPER(isPal(X)) → ISPAL(proper(X))
PROPER(U53(X1, X2, X3)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
U561(ok(X)) → U561(X)
PROPER(U92(X)) → U921(proper(X))
PROPER(U32(X1, X2)) → U321(proper(X1), proper(X2))
ACTIVE(U43(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U51(X1, X2, X3)) → U511(active(X1), X2, X3)
U261(mark(X)) → U261(X)
ACTIVE(U21(tt, V1, V2)) → U221(isPalListKind(V1), V1, V2)
U921(mark(X)) → U921(X)
U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
ACTIVE(U21(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(isPalListKind(__(V1, V2))) → ISPALLISTKIND(V1)
PROPER(U53(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → U541(proper(X1), proper(X2), proper(X3))
PROPER(U21(X1, X2, X3)) → U211(proper(X1), proper(X2), proper(X3))
ACTIVE(U11(X1, X2)) → U111(active(X1), X2)
ACTIVE(U42(tt, V1, V2)) → ISPALLISTKIND(V2)
PROPER(U61(X1, X2)) → PROPER(X1)
ACTIVE(U45(tt, V2)) → ISNELIST(V2)
PROPER(U54(X1, X2, X3)) → PROPER(X2)
ACTIVE(isList(__(V1, V2))) → U211(isPalListKind(V1), V1, V2)
ACTIVE(U81(tt, V)) → U821(isPalListKind(V), V)
ACTIVE(U82(tt, V)) → U831(isNePal(V))
PROPER(U43(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2)) → PROPER(X2)
ACTIVE(isNeList(__(V1, V2))) → U411(isPalListKind(V1), V1, V2)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
PROPER(U26(X)) → U261(proper(X))
PROPER(U22(X1, X2, X3)) → PROPER(X1)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)
ACTIVE(isList(V)) → U111(isPalListKind(V), V)
TOP(mark(X)) → TOP(proper(X))
PROPER(U51(X1, X2, X3)) → U511(proper(X1), proper(X2), proper(X3))
PROPER(isList(X)) → ISLIST(proper(X))
ACTIVE(U12(X1, X2)) → U121(active(X1), X2)
ACTIVE(__(X1, X2)) → __1(X1, active(X2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 46 SCCs with 156 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISNEPAL(ok(X)) → ISNEPAL(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISNEPAL(ok(X)) → ISNEPAL(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISPAL(ok(X)) → ISPAL(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISPAL(ok(X)) → ISPAL(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISQID(ok(X)) → ISQID(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISQID(ok(X)) → ISQID(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISLIST(ok(X)) → ISLIST(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISLIST(ok(X)) → ISLIST(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISNELIST(ok(X)) → ISNELIST(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISNELIST(ok(X)) → ISNELIST(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISPALLISTKIND(ok(X)) → ISPALLISTKIND(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ISPALLISTKIND(ok(X)) → ISPALLISTKIND(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U921(mark(X)) → U921(X)
U921(ok(X)) → U921(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U921(ok(X)) → U921(X)
U921(mark(X)) → U921(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U911(mark(X1), X2) → U911(X1, X2)
U911(ok(X1), ok(X2)) → U911(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U911(mark(X1), X2) → U911(X1, X2)
U911(ok(X1), ok(X2)) → U911(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U831(ok(X)) → U831(X)
U831(mark(X)) → U831(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U831(ok(X)) → U831(X)
U831(mark(X)) → U831(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U821(ok(X1), ok(X2)) → U821(X1, X2)
U821(mark(X1), X2) → U821(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U821(ok(X1), ok(X2)) → U821(X1, X2)
U821(mark(X1), X2) → U821(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U811(mark(X1), X2) → U811(X1, X2)
U811(ok(X1), ok(X2)) → U811(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U811(ok(X1), ok(X2)) → U811(X1, X2)
U811(mark(X1), X2) → U811(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U741(ok(X)) → U741(X)
U741(mark(X)) → U741(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U741(ok(X)) → U741(X)
U741(mark(X)) → U741(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U731(ok(X1), ok(X2)) → U731(X1, X2)
U731(mark(X1), X2) → U731(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U731(ok(X1), ok(X2)) → U731(X1, X2)
U731(mark(X1), X2) → U731(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U721(ok(X1), ok(X2)) → U721(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U721(ok(X1), ok(X2)) → U721(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(ok(X1), ok(X2), ok(X3)) → U711(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(ok(X1), ok(X2), ok(X3)) → U711(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U631(ok(X)) → U631(X)
U631(mark(X)) → U631(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U631(ok(X)) → U631(X)
U631(mark(X)) → U631(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U621(mark(X1), X2) → U621(X1, X2)
U621(ok(X1), ok(X2)) → U621(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U621(mark(X1), X2) → U621(X1, X2)
U621(ok(X1), ok(X2)) → U621(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U611(mark(X1), X2) → U611(X1, X2)
U611(ok(X1), ok(X2)) → U611(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U611(mark(X1), X2) → U611(X1, X2)
U611(ok(X1), ok(X2)) → U611(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U561(ok(X)) → U561(X)
U561(mark(X)) → U561(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U561(ok(X)) → U561(X)
U561(mark(X)) → U561(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U551(ok(X1), ok(X2)) → U551(X1, X2)
U551(mark(X1), X2) → U551(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U551(ok(X1), ok(X2)) → U551(X1, X2)
U551(mark(X1), X2) → U551(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U541(mark(X1), X2, X3) → U541(X1, X2, X3)
U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U541(mark(X1), X2, X3) → U541(X1, X2, X3)
U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U461(mark(X)) → U461(X)
U461(ok(X)) → U461(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U461(mark(X)) → U461(X)
U461(ok(X)) → U461(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U451(ok(X1), ok(X2)) → U451(X1, X2)
U451(mark(X1), X2) → U451(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U451(ok(X1), ok(X2)) → U451(X1, X2)
U451(mark(X1), X2) → U451(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U441(mark(X1), X2, X3) → U441(X1, X2, X3)
U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U441(mark(X1), X2, X3) → U441(X1, X2, X3)
U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U431(mark(X1), X2, X3) → U431(X1, X2, X3)
U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U431(mark(X1), X2, X3) → U431(X1, X2, X3)
U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U421(mark(X1), X2, X3) → U421(X1, X2, X3)
U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U421(mark(X1), X2, X3) → U421(X1, X2, X3)
U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U331(ok(X)) → U331(X)
U331(mark(X)) → U331(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U331(ok(X)) → U331(X)
U331(mark(X)) → U331(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U321(ok(X1), ok(X2)) → U321(X1, X2)
U321(mark(X1), X2) → U321(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U321(ok(X1), ok(X2)) → U321(X1, X2)
U321(mark(X1), X2) → U321(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U311(mark(X1), X2) → U311(X1, X2)
U311(ok(X1), ok(X2)) → U311(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U311(mark(X1), X2) → U311(X1, X2)
U311(ok(X1), ok(X2)) → U311(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U261(ok(X)) → U261(X)
U261(mark(X)) → U261(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U261(ok(X)) → U261(X)
U261(mark(X)) → U261(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U251(mark(X1), X2) → U251(X1, X2)
U251(ok(X1), ok(X2)) → U251(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U251(mark(X1), X2) → U251(X1, X2)
U251(ok(X1), ok(X2)) → U251(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U241(mark(X1), X2, X3) → U241(X1, X2, X3)
U241(ok(X1), ok(X2), ok(X3)) → U241(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U241(mark(X1), X2, X3) → U241(X1, X2, X3)
U241(ok(X1), ok(X2), ok(X3)) → U241(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U131(ok(X)) → U131(X)
U131(mark(X)) → U131(X)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U131(ok(X)) → U131(X)
U131(mark(X)) → U131(X)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U121(mark(X1), X2) → U121(X1, X2)
U121(ok(X1), ok(X2)) → U121(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U121(mark(X1), X2) → U121(X1, X2)
U121(ok(X1), ok(X2)) → U121(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U111(mark(X1), X2) → U111(X1, X2)
U111(ok(X1), ok(X2)) → U111(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

U111(ok(X1), ok(X2)) → U111(X1, X2)
U111(mark(X1), X2) → U111(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

__1(ok(X1), ok(X2)) → __1(X1, X2)
__1(X1, mark(X2)) → __1(X1, X2)
__1(mark(X1), X2) → __1(X1, X2)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

__1(ok(X1), ok(X2)) → __1(X1, X2)
__1(X1, mark(X2)) → __1(X1, X2)
__1(mark(X1), X2) → __1(X1, X2)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

PROPER(U74(X)) → PROPER(X)
PROPER(U24(X1, X2, X3)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U55(X1, X2)) → PROPER(X2)
PROPER(U44(X1, X2, X3)) → PROPER(X1)
PROPER(U52(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2)) → PROPER(X2)
PROPER(U73(X1, X2)) → PROPER(X2)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U25(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U24(X1, X2, X3)) → PROPER(X3)
PROPER(U62(X1, X2)) → PROPER(X2)
PROPER(U13(X)) → PROPER(X)
PROPER(U55(X1, X2)) → PROPER(X1)
PROPER(isNePal(X)) → PROPER(X)
PROPER(U31(X1, X2)) → PROPER(X1)
PROPER(isQid(X)) → PROPER(X)
PROPER(U45(X1, X2)) → PROPER(X2)
PROPER(U63(X)) → PROPER(X)
PROPER(__(X1, X2)) → PROPER(X1)
PROPER(U12(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X3)
PROPER(U53(X1, X2, X3)) → PROPER(X3)
PROPER(U24(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2)) → PROPER(X2)
PROPER(U12(X1, X2)) → PROPER(X2)
PROPER(U32(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X3)
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(isPalListKind(X)) → PROPER(X)
PROPER(U46(X)) → PROPER(X)
PROPER(U51(X1, X2, X3)) → PROPER(X3)
PROPER(U82(X1, X2)) → PROPER(X2)
PROPER(U42(X1, X2, X3)) → PROPER(X2)
PROPER(U41(X1, X2, X3)) → PROPER(X2)
PROPER(isList(X)) → PROPER(X)
PROPER(U22(X1, X2, X3)) → PROPER(X2)
PROPER(isPal(X)) → PROPER(X)
PROPER(U44(X1, X2, X3)) → PROPER(X3)
PROPER(U52(X1, X2, X3)) → PROPER(X1)
PROPER(__(X1, X2)) → PROPER(X2)
PROPER(U53(X1, X2, X3)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U82(X1, X2)) → PROPER(X1)
PROPER(U44(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → PROPER(X1)
PROPER(U53(X1, X2, X3)) → PROPER(X2)
PROPER(U81(X1, X2)) → PROPER(X2)
PROPER(U23(X1, X2, X3)) → PROPER(X2)
PROPER(U73(X1, X2)) → PROPER(X1)
PROPER(U45(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U92(X)) → PROPER(X)
PROPER(U54(X1, X2, X3)) → PROPER(X2)
PROPER(U52(X1, X2, X3)) → PROPER(X2)
PROPER(U43(X1, X2, X3)) → PROPER(X3)
PROPER(isNeList(X)) → PROPER(X)
PROPER(U23(X1, X2, X3)) → PROPER(X3)
PROPER(U83(X)) → PROPER(X)
PROPER(U31(X1, X2)) → PROPER(X2)
PROPER(U43(X1, X2, X3)) → PROPER(X1)
PROPER(U43(X1, X2, X3)) → PROPER(X2)
PROPER(U56(X)) → PROPER(X)
PROPER(U81(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X1)
PROPER(U22(X1, X2, X3)) → PROPER(X3)
PROPER(U71(X1, X2, X3)) → PROPER(X3)
PROPER(U71(X1, X2, X3)) → PROPER(X2)
PROPER(U33(X)) → PROPER(X)
PROPER(U54(X1, X2, X3)) → PROPER(X3)
PROPER(U22(X1, X2, X3)) → PROPER(X1)
PROPER(U21(X1, X2, X3)) → PROPER(X2)
PROPER(U71(X1, X2, X3)) → PROPER(X1)
PROPER(U62(X1, X2)) → PROPER(X1)
PROPER(U25(X1, X2)) → PROPER(X1)
PROPER(U26(X)) → PROPER(X)
PROPER(U11(X1, X2)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X2)
PROPER(U23(X1, X2, X3)) → PROPER(X1)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

PROPER(U74(X)) → PROPER(X)
PROPER(U24(X1, X2, X3)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U55(X1, X2)) → PROPER(X2)
PROPER(U44(X1, X2, X3)) → PROPER(X1)
PROPER(U52(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2)) → PROPER(X2)
PROPER(U73(X1, X2)) → PROPER(X2)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U25(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U24(X1, X2, X3)) → PROPER(X3)
PROPER(U62(X1, X2)) → PROPER(X2)
PROPER(U13(X)) → PROPER(X)
PROPER(U55(X1, X2)) → PROPER(X1)
PROPER(U31(X1, X2)) → PROPER(X1)
PROPER(isNePal(X)) → PROPER(X)
PROPER(isQid(X)) → PROPER(X)
PROPER(U45(X1, X2)) → PROPER(X2)
PROPER(U63(X)) → PROPER(X)
PROPER(__(X1, X2)) → PROPER(X1)
PROPER(U12(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X3)
PROPER(U41(X1, X2, X3)) → PROPER(X1)
PROPER(U53(X1, X2, X3)) → PROPER(X3)
PROPER(U24(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2)) → PROPER(X2)
PROPER(U12(X1, X2)) → PROPER(X2)
PROPER(U32(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → PROPER(X3)
PROPER(U21(X1, X2, X3)) → PROPER(X3)
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(isPalListKind(X)) → PROPER(X)
PROPER(U46(X)) → PROPER(X)
PROPER(U51(X1, X2, X3)) → PROPER(X3)
PROPER(U82(X1, X2)) → PROPER(X2)
PROPER(U42(X1, X2, X3)) → PROPER(X2)
PROPER(U41(X1, X2, X3)) → PROPER(X2)
PROPER(isList(X)) → PROPER(X)
PROPER(U22(X1, X2, X3)) → PROPER(X2)
PROPER(isPal(X)) → PROPER(X)
PROPER(U44(X1, X2, X3)) → PROPER(X3)
PROPER(U52(X1, X2, X3)) → PROPER(X1)
PROPER(__(X1, X2)) → PROPER(X2)
PROPER(U53(X1, X2, X3)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U82(X1, X2)) → PROPER(X1)
PROPER(U44(X1, X2, X3)) → PROPER(X2)
PROPER(U53(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → PROPER(X1)
PROPER(U81(X1, X2)) → PROPER(X2)
PROPER(U23(X1, X2, X3)) → PROPER(X2)
PROPER(U73(X1, X2)) → PROPER(X1)
PROPER(U45(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U52(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → PROPER(X2)
PROPER(U92(X)) → PROPER(X)
PROPER(U43(X1, X2, X3)) → PROPER(X3)
PROPER(isNeList(X)) → PROPER(X)
PROPER(U23(X1, X2, X3)) → PROPER(X3)
PROPER(U83(X)) → PROPER(X)
PROPER(U43(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2)) → PROPER(X2)
PROPER(U43(X1, X2, X3)) → PROPER(X2)
PROPER(U56(X)) → PROPER(X)
PROPER(U81(X1, X2)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X1)
PROPER(U22(X1, X2, X3)) → PROPER(X3)
PROPER(U71(X1, X2, X3)) → PROPER(X2)
PROPER(U71(X1, X2, X3)) → PROPER(X3)
PROPER(U33(X)) → PROPER(X)
PROPER(U54(X1, X2, X3)) → PROPER(X3)
PROPER(U22(X1, X2, X3)) → PROPER(X1)
PROPER(U21(X1, X2, X3)) → PROPER(X2)
PROPER(U25(X1, X2)) → PROPER(X1)
PROPER(U62(X1, X2)) → PROPER(X1)
PROPER(U71(X1, X2, X3)) → PROPER(X1)
PROPER(U26(X)) → PROPER(X)
PROPER(U51(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2)) → PROPER(X1)
PROPER(U23(X1, X2, X3)) → PROPER(X1)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ACTIVE(U74(X)) → ACTIVE(X)
ACTIVE(U83(X)) → ACTIVE(X)
ACTIVE(U52(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U71(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U82(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X)) → ACTIVE(X)
ACTIVE(U43(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U24(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U21(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U23(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → ACTIVE(X)
ACTIVE(U53(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(__(X1, X2)) → ACTIVE(X2)
ACTIVE(U51(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U73(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U31(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U26(X)) → ACTIVE(X)
ACTIVE(U55(X1, X2)) → ACTIVE(X1)
ACTIVE(U41(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2)) → ACTIVE(X1)
ACTIVE(U11(X1, X2)) → ACTIVE(X1)
ACTIVE(U44(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(__(X1, X2)) → ACTIVE(X1)
ACTIVE(U25(X1, X2)) → ACTIVE(X1)
ACTIVE(U33(X)) → ACTIVE(X)
ACTIVE(U45(X1, X2)) → ACTIVE(X1)
ACTIVE(U54(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2)) → ACTIVE(X1)
ACTIVE(U46(X)) → ACTIVE(X)
ACTIVE(U63(X)) → ACTIVE(X)
ACTIVE(U56(X)) → ACTIVE(X)
ACTIVE(U62(X1, X2)) → ACTIVE(X1)

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesProof
QDP
                ↳ QDPSizeChangeProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

ACTIVE(U74(X)) → ACTIVE(X)
ACTIVE(U52(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U83(X)) → ACTIVE(X)
ACTIVE(U71(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U82(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X)) → ACTIVE(X)
ACTIVE(U43(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U24(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U21(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U23(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → ACTIVE(X)
ACTIVE(U53(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(__(X1, X2)) → ACTIVE(X2)
ACTIVE(U51(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U73(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U31(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U26(X)) → ACTIVE(X)
ACTIVE(U55(X1, X2)) → ACTIVE(X1)
ACTIVE(U41(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2)) → ACTIVE(X1)
ACTIVE(U44(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U11(X1, X2)) → ACTIVE(X1)
ACTIVE(__(X1, X2)) → ACTIVE(X1)
ACTIVE(U25(X1, X2)) → ACTIVE(X1)
ACTIVE(U33(X)) → ACTIVE(X)
ACTIVE(U45(X1, X2)) → ACTIVE(X1)
ACTIVE(U54(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2)) → ACTIVE(X1)
ACTIVE(U46(X)) → ACTIVE(X)
ACTIVE(U56(X)) → ACTIVE(X)
ACTIVE(U63(X)) → ACTIVE(X)
ACTIVE(U62(X1, X2)) → ACTIVE(X1)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ UsableRulesReductionPairsProof

Q DP problem:
The TRS P consists of the following rules:

TOP(mark(X)) → TOP(proper(X))
TOP(ok(X)) → TOP(active(X))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X1), X2) → mark(U12(X1, X2))
U13(mark(X)) → mark(U13(X))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(mark(X)) → mark(U33(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U45(mark(X1), X2) → mark(U45(X1, X2))
U46(mark(X)) → mark(U46(X))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(mark(X)) → mark(U56(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(mark(X)) → mark(U63(X))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(mark(X)) → mark(U74(X))
U81(mark(X1), X2) → mark(U81(X1, X2))
U82(mark(X1), X2) → mark(U82(X1, X2))
U83(mark(X)) → mark(U83(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
U13(ok(X)) → ok(U13(X))
isNeList(ok(X)) → ok(isNeList(X))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
isList(ok(X)) → ok(isList(X))
U26(ok(X)) → ok(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U46(ok(X)) → ok(U46(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
isPal(ok(X)) → ok(isPal(X))
U74(ok(X)) → ok(U74(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U83(ok(X)) → ok(U83(X))
isNePal(ok(X)) → ok(isNePal(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

No dependency pairs are removed.

No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [25]:

POL(TOP(x1)) = 2·x1   
POL(U11(x1, x2)) = x1 + 2·x2   
POL(U12(x1, x2)) = x1 + 2·x2   
POL(U13(x1)) = x1   
POL(U21(x1, x2, x3)) = x1 + 2·x2 + x3   
POL(U22(x1, x2, x3)) = 2·x1 + 2·x2 + 2·x3   
POL(U23(x1, x2, x3)) = 2·x1 + x2 + 2·x3   
POL(U24(x1, x2, x3)) = x1 + x2 + x3   
POL(U25(x1, x2)) = x1 + 2·x2   
POL(U26(x1)) = x1   
POL(U31(x1, x2)) = x1 + 2·x2   
POL(U32(x1, x2)) = 2·x1 + 2·x2   
POL(U33(x1)) = 2·x1   
POL(U41(x1, x2, x3)) = x1 + 2·x2 + 2·x3   
POL(U42(x1, x2, x3)) = x1 + 2·x2 + 2·x3   
POL(U43(x1, x2, x3)) = x1 + 2·x2 + x3   
POL(U44(x1, x2, x3)) = x1 + x2 + x3   
POL(U45(x1, x2)) = x1 + 2·x2   
POL(U46(x1)) = 2·x1   
POL(U51(x1, x2, x3)) = 2·x1 + 2·x2 + x3   
POL(U52(x1, x2, x3)) = x1 + x2 + 2·x3   
POL(U53(x1, x2, x3)) = 2·x1 + x2 + x3   
POL(U54(x1, x2, x3)) = x1 + x2 + x3   
POL(U55(x1, x2)) = x1 + 2·x2   
POL(U56(x1)) = x1   
POL(U61(x1, x2)) = 2·x1 + 2·x2   
POL(U62(x1, x2)) = 2·x1 + x2   
POL(U63(x1)) = x1   
POL(U71(x1, x2, x3)) = 2·x1 + 2·x2 + x3   
POL(U72(x1, x2)) = 2·x1 + 2·x2   
POL(U73(x1, x2)) = x1 + x2   
POL(U74(x1)) = 2·x1   
POL(U81(x1, x2)) = 2·x1 + 2·x2   
POL(U82(x1, x2)) = x1 + 2·x2   
POL(U83(x1)) = 2·x1   
POL(U91(x1, x2)) = 2·x1 + 2·x2   
POL(U92(x1)) = x1   
POL(__(x1, x2)) = 2·x1 + 2·x2   
POL(a) = 0   
POL(active(x1)) = 2·x1   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 2·x1   
POL(isNeList(x1)) = 2·x1   
POL(isNePal(x1)) = 2·x1   
POL(isPal(x1)) = 2·x1   
POL(isPalListKind(x1)) = x1   
POL(isQid(x1)) = x1   
POL(mark(x1)) = x1   
POL(nil) = 0   
POL(o) = 0   
POL(ok(x1)) = 2·x1   
POL(proper(x1)) = x1   
POL(tt) = 0   
POL(u) = 0   



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
QDP
                ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

TOP(mark(X)) → TOP(proper(X))
TOP(ok(X)) → TOP(active(X))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule TOP(mark(X)) → TOP(proper(X)) at position [0] we obtained the following new rules:

TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(i)) → TOP(ok(i))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(mark(u)) → TOP(ok(u))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(o)) → TOP(ok(o))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(mark(a)) → TOP(ok(a))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(mark(tt)) → TOP(ok(tt))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(mark(nil)) → TOP(ok(nil))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(mark(e)) → TOP(ok(e))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
QDP
                    ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(i)) → TOP(ok(i))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(mark(u)) → TOP(ok(u))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(o)) → TOP(ok(o))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(mark(a)) → TOP(ok(a))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(mark(tt)) → TOP(ok(tt))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(mark(nil)) → TOP(ok(nil))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(X)) → TOP(active(X))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(e)) → TOP(ok(e))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule TOP(ok(X)) → TOP(active(X)) at position [0] we obtained the following new rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U56(tt))) → TOP(mark(tt))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(ok(U83(tt))) → TOP(mark(tt))
TOP(ok(U63(tt))) → TOP(mark(tt))
TOP(ok(U26(tt))) → TOP(mark(tt))
TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(isPalListKind(a))) → TOP(mark(tt))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(ok(isQid(a))) → TOP(mark(tt))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U92(tt))) → TOP(mark(tt))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(ok(isQid(e))) → TOP(mark(tt))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(isQid(o))) → TOP(mark(tt))
TOP(ok(isQid(u))) → TOP(mark(tt))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(ok(isPalListKind(nil))) → TOP(mark(tt))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U74(tt))) → TOP(mark(tt))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(ok(isPalListKind(o))) → TOP(mark(tt))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(ok(__(x0, nil))) → TOP(mark(x0))
TOP(ok(__(nil, x0))) → TOP(mark(x0))
TOP(ok(isPalListKind(i))) → TOP(mark(tt))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U46(tt))) → TOP(mark(tt))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(ok(isPal(nil))) → TOP(mark(tt))
TOP(ok(U33(tt))) → TOP(mark(tt))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(ok(isPalListKind(u))) → TOP(mark(tt))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(U13(tt))) → TOP(mark(tt))
TOP(ok(isQid(i))) → TOP(mark(tt))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(isPalListKind(e))) → TOP(mark(tt))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
TOP(ok(isList(nil))) → TOP(mark(tt))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
QDP
                        ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(i)) → TOP(ok(i))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U56(tt))) → TOP(mark(tt))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(ok(U83(tt))) → TOP(mark(tt))
TOP(ok(U63(tt))) → TOP(mark(tt))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U26(tt))) → TOP(mark(tt))
TOP(mark(u)) → TOP(ok(u))
TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(isPalListKind(a))) → TOP(mark(tt))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(ok(isQid(a))) → TOP(mark(tt))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U92(tt))) → TOP(mark(tt))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(isQid(e))) → TOP(mark(tt))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(mark(o)) → TOP(ok(o))
TOP(ok(isQid(o))) → TOP(mark(tt))
TOP(ok(isQid(u))) → TOP(mark(tt))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(tt)) → TOP(ok(tt))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(isPalListKind(nil))) → TOP(mark(tt))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(mark(nil)) → TOP(ok(nil))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U74(tt))) → TOP(mark(tt))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(e)) → TOP(ok(e))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(ok(isPalListKind(o))) → TOP(mark(tt))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(ok(__(nil, x0))) → TOP(mark(x0))
TOP(ok(__(x0, nil))) → TOP(mark(x0))
TOP(ok(isPalListKind(i))) → TOP(mark(tt))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U46(tt))) → TOP(mark(tt))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(ok(U33(tt))) → TOP(mark(tt))
TOP(ok(isPal(nil))) → TOP(mark(tt))
TOP(mark(a)) → TOP(ok(a))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(ok(isPalListKind(u))) → TOP(mark(tt))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(U13(tt))) → TOP(mark(tt))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isQid(i))) → TOP(mark(tt))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(isPalListKind(e))) → TOP(mark(tt))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
TOP(ok(isList(nil))) → TOP(mark(tt))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 29 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
QDP
                            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(ok(__(x0, nil))) → TOP(mark(x0))
TOP(ok(__(nil, x0))) → TOP(mark(x0))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(ok(__(x0, nil))) → TOP(mark(x0))
TOP(ok(__(nil, x0))) → TOP(mark(x0))
The remaining pairs can at least be oriented weakly.

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
Used ordering: Polynomial interpretation [25]:

POL(TOP(x1)) = x1   
POL(U11(x1, x2)) = 0   
POL(U12(x1, x2)) = 0   
POL(U13(x1)) = 0   
POL(U21(x1, x2, x3)) = 0   
POL(U22(x1, x2, x3)) = 0   
POL(U23(x1, x2, x3)) = 0   
POL(U24(x1, x2, x3)) = 0   
POL(U25(x1, x2)) = 0   
POL(U26(x1)) = 0   
POL(U31(x1, x2)) = 0   
POL(U32(x1, x2)) = 0   
POL(U33(x1)) = 0   
POL(U41(x1, x2, x3)) = 0   
POL(U42(x1, x2, x3)) = 0   
POL(U43(x1, x2, x3)) = 0   
POL(U44(x1, x2, x3)) = 0   
POL(U45(x1, x2)) = 0   
POL(U46(x1)) = 0   
POL(U51(x1, x2, x3)) = 0   
POL(U52(x1, x2, x3)) = 0   
POL(U53(x1, x2, x3)) = 0   
POL(U54(x1, x2, x3)) = 0   
POL(U55(x1, x2)) = 0   
POL(U56(x1)) = 0   
POL(U61(x1, x2)) = 0   
POL(U62(x1, x2)) = 0   
POL(U63(x1)) = 0   
POL(U71(x1, x2, x3)) = 0   
POL(U72(x1, x2)) = 0   
POL(U73(x1, x2)) = 0   
POL(U74(x1)) = 0   
POL(U81(x1, x2)) = 0   
POL(U82(x1, x2)) = 0   
POL(U83(x1)) = 0   
POL(U91(x1, x2)) = 0   
POL(U92(x1)) = 0   
POL(__(x1, x2)) = x1 + x2   
POL(a) = 0   
POL(active(x1)) = x1   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 0   
POL(isNeList(x1)) = 0   
POL(isNePal(x1)) = 0   
POL(isPal(x1)) = 0   
POL(isPalListKind(x1)) = 0   
POL(isQid(x1)) = 0   
POL(mark(x1)) = x1   
POL(nil) = 1   
POL(o) = 0   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   
POL(tt) = 0   
POL(u) = 0   

The following usable rules [17] were oriented:

active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U83(tt)) → mark(tt)
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U74(tt)) → mark(tt)
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(U92(tt)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isList(nil)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U13(X)) → U13(active(X))
active(U12(X1, X2)) → U12(active(X1), X2)
active(U11(X1, X2)) → U11(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U33(X)) → U33(active(X))
active(U32(X1, X2)) → U32(active(X1), X2)
active(U31(X1, X2)) → U31(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U25(X1, X2)) → U25(active(X1), X2)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(__(X, nil)) → mark(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(U13(tt)) → mark(tt)
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(__(nil, X)) → mark(X)
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U26(tt)) → mark(tt)
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(isNeList(X)) → isNeList(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(__(X1, X2)) → __(proper(X1), proper(X2))
isNeList(ok(X)) → ok(isNeList(X))
isList(ok(X)) → ok(isList(X))
isPal(ok(X)) → ok(isPal(X))
isNePal(ok(X)) → ok(isNePal(X))
isQid(ok(X)) → ok(isQid(X))
isPalListKind(ok(X)) → ok(isPalListKind(X))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U74(X)) → U74(proper(X))
proper(U83(X)) → U83(proper(X))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(isPal(X)) → isPal(proper(X))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U63(X)) → U63(proper(X))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U56(mark(X)) → mark(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(ok(X)) → ok(U74(X))
U63(mark(X)) → mark(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(ok(X)) → ok(U26(X))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
proper(a) → ok(a)
proper(U92(X)) → U92(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(isNePal(X)) → isNePal(proper(X))
proper(u) → ok(u)
proper(o) → ok(o)
proper(i) → ok(i)
proper(e) → ok(e)



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ QDP
                            ↳ QDPOrderProof
QDP
                                ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(ok(isPal(x0))) → TOP(mark(U81(isPalListKind(x0), x0)))
The remaining pairs can at least be oriented weakly.

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
Used ordering: Polynomial interpretation with max and min functions [25]:

POL(TOP(x1)) = x1   
POL(U11(x1, x2)) = 0   
POL(U12(x1, x2)) = 0   
POL(U13(x1)) = 0   
POL(U21(x1, x2, x3)) = 0   
POL(U22(x1, x2, x3)) = 0   
POL(U23(x1, x2, x3)) = 0   
POL(U24(x1, x2, x3)) = 0   
POL(U25(x1, x2)) = 0   
POL(U26(x1)) = 0   
POL(U31(x1, x2)) = 0   
POL(U32(x1, x2)) = 0   
POL(U33(x1)) = 0   
POL(U41(x1, x2, x3)) = 0   
POL(U42(x1, x2, x3)) = 0   
POL(U43(x1, x2, x3)) = 0   
POL(U44(x1, x2, x3)) = 0   
POL(U45(x1, x2)) = 0   
POL(U46(x1)) = 0   
POL(U51(x1, x2, x3)) = 0   
POL(U52(x1, x2, x3)) = 0   
POL(U53(x1, x2, x3)) = 0   
POL(U54(x1, x2, x3)) = 0   
POL(U55(x1, x2)) = 0   
POL(U56(x1)) = 0   
POL(U61(x1, x2)) = 0   
POL(U62(x1, x2)) = 0   
POL(U63(x1)) = 0   
POL(U71(x1, x2, x3)) = 0   
POL(U72(x1, x2)) = 0   
POL(U73(x1, x2)) = 0   
POL(U74(x1)) = 0   
POL(U81(x1, x2)) = 0   
POL(U82(x1, x2)) = 0   
POL(U83(x1)) = 0   
POL(U91(x1, x2)) = 0   
POL(U92(x1)) = 0   
POL(__(x1, x2)) = 0   
POL(a) = 0   
POL(active(x1)) = 0   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 0   
POL(isNeList(x1)) = 0   
POL(isNePal(x1)) = 0   
POL(isPal(x1)) = 1   
POL(isPalListKind(x1)) = 0   
POL(isQid(x1)) = 0   
POL(mark(x1)) = x1   
POL(nil) = 0   
POL(o) = 0   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   
POL(tt) = 0   
POL(u) = 0   

The following usable rules [17] were oriented:

isNeList(ok(X)) → ok(isNeList(X))
isList(ok(X)) → ok(isList(X))
isPal(ok(X)) → ok(isPal(X))
isNePal(ok(X)) → ok(isNePal(X))
isQid(ok(X)) → ok(isQid(X))
isPalListKind(ok(X)) → ok(isPalListKind(X))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U56(mark(X)) → mark(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(ok(X)) → ok(U74(X))
U63(mark(X)) → mark(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(ok(X)) → ok(U26(X))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ QDP
                            ↳ QDPOrderProof
                              ↳ QDP
                                ↳ QDPOrderProof
QDP
                                    ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(mark(isQid(x0))) → TOP(isQid(proper(x0)))
TOP(mark(isPal(x0))) → TOP(isPal(proper(x0)))
The remaining pairs can at least be oriented weakly.

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
Used ordering: Polynomial interpretation [25]:

POL(TOP(x1)) = x1   
POL(U11(x1, x2)) = 1   
POL(U12(x1, x2)) = 1   
POL(U13(x1)) = 1   
POL(U21(x1, x2, x3)) = 1   
POL(U22(x1, x2, x3)) = 1   
POL(U23(x1, x2, x3)) = 1   
POL(U24(x1, x2, x3)) = 1   
POL(U25(x1, x2)) = 1   
POL(U26(x1)) = 1   
POL(U31(x1, x2)) = 1   
POL(U32(x1, x2)) = 1   
POL(U33(x1)) = 1   
POL(U41(x1, x2, x3)) = 1   
POL(U42(x1, x2, x3)) = 1   
POL(U43(x1, x2, x3)) = 1   
POL(U44(x1, x2, x3)) = 1   
POL(U45(x1, x2)) = 1   
POL(U46(x1)) = 1   
POL(U51(x1, x2, x3)) = 1   
POL(U52(x1, x2, x3)) = 1   
POL(U53(x1, x2, x3)) = 1   
POL(U54(x1, x2, x3)) = 1   
POL(U55(x1, x2)) = 1   
POL(U56(x1)) = 1   
POL(U61(x1, x2)) = 1   
POL(U62(x1, x2)) = 1   
POL(U63(x1)) = 1   
POL(U71(x1, x2, x3)) = 1   
POL(U72(x1, x2)) = 1   
POL(U73(x1, x2)) = 1   
POL(U74(x1)) = 1   
POL(U81(x1, x2)) = 1   
POL(U82(x1, x2)) = 1   
POL(U83(x1)) = 1   
POL(U91(x1, x2)) = 1   
POL(U92(x1)) = 1   
POL(__(x1, x2)) = 1   
POL(a) = 0   
POL(active(x1)) = 0   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 1   
POL(isNeList(x1)) = 1   
POL(isNePal(x1)) = 1   
POL(isPal(x1)) = 0   
POL(isPalListKind(x1)) = 1   
POL(isQid(x1)) = 0   
POL(mark(x1)) = 1   
POL(nil) = 0   
POL(o) = 0   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   
POL(tt) = 0   
POL(u) = 0   

The following usable rules [17] were oriented:

isNeList(ok(X)) → ok(isNeList(X))
isList(ok(X)) → ok(isList(X))
isPal(ok(X)) → ok(isPal(X))
isNePal(ok(X)) → ok(isNePal(X))
isQid(ok(X)) → ok(isQid(X))
isPalListKind(ok(X)) → ok(isPalListKind(X))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U56(mark(X)) → mark(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(ok(X)) → ok(U74(X))
U63(mark(X)) → mark(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(ok(X)) → ok(U26(X))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ QDP
                            ↳ QDPOrderProof
                              ↳ QDP
                                ↳ QDPOrderProof
                                  ↳ QDP
                                    ↳ QDPOrderProof
QDP
                                        ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(ok(isNePal(__(x0, __(x1, x0))))) → TOP(mark(U71(isQid(x0), x0, x1)))
TOP(ok(isPalListKind(__(x0, x1)))) → TOP(mark(U91(isPalListKind(x0), x1)))
TOP(ok(isNeList(x0))) → TOP(mark(U31(isPalListKind(x0), x0)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U41(isPalListKind(x0), x0, x1)))
TOP(ok(U41(tt, x0, x1))) → TOP(mark(U42(isPalListKind(x0), x0, x1)))
TOP(ok(isNeList(__(x0, x1)))) → TOP(mark(U51(isPalListKind(x0), x0, x1)))
The remaining pairs can at least be oriented weakly.

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
Used ordering: Polynomial interpretation with max and min functions [25]:

POL(TOP(x1)) = x1   
POL(U11(x1, x2)) = 0   
POL(U12(x1, x2)) = 0   
POL(U13(x1)) = 0   
POL(U21(x1, x2, x3)) = 0   
POL(U22(x1, x2, x3)) = 0   
POL(U23(x1, x2, x3)) = 0   
POL(U24(x1, x2, x3)) = 0   
POL(U25(x1, x2)) = 0   
POL(U26(x1)) = 0   
POL(U31(x1, x2)) = 0   
POL(U32(x1, x2)) = 0   
POL(U33(x1)) = 0   
POL(U41(x1, x2, x3)) = 1   
POL(U42(x1, x2, x3)) = 0   
POL(U43(x1, x2, x3)) = 0   
POL(U44(x1, x2, x3)) = 0   
POL(U45(x1, x2)) = 0   
POL(U46(x1)) = 0   
POL(U51(x1, x2, x3)) = 0   
POL(U52(x1, x2, x3)) = 0   
POL(U53(x1, x2, x3)) = 0   
POL(U54(x1, x2, x3)) = 0   
POL(U55(x1, x2)) = 0   
POL(U56(x1)) = 0   
POL(U61(x1, x2)) = 0   
POL(U62(x1, x2)) = 0   
POL(U63(x1)) = 0   
POL(U71(x1, x2, x3)) = 0   
POL(U72(x1, x2)) = 0   
POL(U73(x1, x2)) = 0   
POL(U74(x1)) = 0   
POL(U81(x1, x2)) = 0   
POL(U82(x1, x2)) = 0   
POL(U83(x1)) = 0   
POL(U91(x1, x2)) = 0   
POL(U92(x1)) = 0   
POL(__(x1, x2)) = 1   
POL(a) = 0   
POL(active(x1)) = 0   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 0   
POL(isNeList(x1)) = 1 + x1   
POL(isNePal(x1)) = x1   
POL(isPal(x1)) = 0   
POL(isPalListKind(x1)) = x1   
POL(isQid(x1)) = 0   
POL(mark(x1)) = x1   
POL(nil) = 0   
POL(o) = 0   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   
POL(tt) = 0   
POL(u) = 0   

The following usable rules [17] were oriented:

proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(isNeList(X)) → isNeList(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(__(X1, X2)) → __(proper(X1), proper(X2))
isNeList(ok(X)) → ok(isNeList(X))
isList(ok(X)) → ok(isList(X))
isPal(ok(X)) → ok(isPal(X))
isNePal(ok(X)) → ok(isNePal(X))
isQid(ok(X)) → ok(isQid(X))
isPalListKind(ok(X)) → ok(isPalListKind(X))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U74(X)) → U74(proper(X))
proper(U83(X)) → U83(proper(X))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(isPal(X)) → isPal(proper(X))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U63(X)) → U63(proper(X))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U56(mark(X)) → mark(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(ok(X)) → ok(U74(X))
U63(mark(X)) → mark(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(ok(X)) → ok(U26(X))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
proper(a) → ok(a)
proper(U92(X)) → U92(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(isNePal(X)) → isNePal(proper(X))
proper(u) → ok(u)
proper(o) → ok(o)
proper(i) → ok(i)
proper(e) → ok(e)



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ QDP
                            ↳ QDPOrderProof
                              ↳ QDP
                                ↳ QDPOrderProof
                                  ↳ QDP
                                    ↳ QDPOrderProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
QDP
                                            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(ok(isNePal(x0))) → TOP(mark(U61(isPalListKind(x0), x0)))
TOP(ok(U51(tt, x0, x1))) → TOP(mark(U52(isPalListKind(x0), x0, x1)))
The remaining pairs can at least be oriented weakly.

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))
Used ordering: Polynomial interpretation [25]:

POL(TOP(x1)) = x1   
POL(U11(x1, x2)) = 0   
POL(U12(x1, x2)) = 0   
POL(U13(x1)) = 0   
POL(U21(x1, x2, x3)) = 0   
POL(U22(x1, x2, x3)) = 0   
POL(U23(x1, x2, x3)) = 0   
POL(U24(x1, x2, x3)) = 0   
POL(U25(x1, x2)) = 0   
POL(U26(x1)) = 0   
POL(U31(x1, x2)) = 0   
POL(U32(x1, x2)) = 0   
POL(U33(x1)) = 0   
POL(U41(x1, x2, x3)) = 0   
POL(U42(x1, x2, x3)) = 0   
POL(U43(x1, x2, x3)) = 0   
POL(U44(x1, x2, x3)) = 0   
POL(U45(x1, x2)) = 0   
POL(U46(x1)) = 0   
POL(U51(x1, x2, x3)) = 1   
POL(U52(x1, x2, x3)) = 0   
POL(U53(x1, x2, x3)) = 0   
POL(U54(x1, x2, x3)) = 0   
POL(U55(x1, x2)) = 0   
POL(U56(x1)) = 0   
POL(U61(x1, x2)) = 0   
POL(U62(x1, x2)) = 0   
POL(U63(x1)) = 0   
POL(U71(x1, x2, x3)) = 0   
POL(U72(x1, x2)) = 0   
POL(U73(x1, x2)) = 0   
POL(U74(x1)) = 0   
POL(U81(x1, x2)) = 0   
POL(U82(x1, x2)) = 0   
POL(U83(x1)) = 0   
POL(U91(x1, x2)) = 0   
POL(U92(x1)) = 0   
POL(__(x1, x2)) = 0   
POL(a) = 0   
POL(active(x1)) = 0   
POL(e) = 0   
POL(i) = 0   
POL(isList(x1)) = 0   
POL(isNeList(x1)) = 0   
POL(isNePal(x1)) = 1   
POL(isPal(x1)) = 0   
POL(isPalListKind(x1)) = 0   
POL(isQid(x1)) = 0   
POL(mark(x1)) = x1   
POL(nil) = 0   
POL(o) = 0   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   
POL(tt) = 0   
POL(u) = 0   

The following usable rules [17] were oriented:

isNeList(ok(X)) → ok(isNeList(X))
isList(ok(X)) → ok(isList(X))
isNePal(ok(X)) → ok(isNePal(X))
isPalListKind(ok(X)) → ok(isPalListKind(X))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U62(mark(X1), X2) → mark(U62(X1, X2))
U63(ok(X)) → ok(U63(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U56(ok(X)) → ok(U56(X))
U56(mark(X)) → mark(U56(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U73(mark(X1), X2) → mark(U73(X1, X2))
U74(ok(X)) → ok(U74(X))
U63(mark(X)) → mark(U63(X))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
U31(mark(X1), X2) → mark(U31(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U26(mark(X)) → mark(U26(X))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U25(mark(X1), X2) → mark(U25(X1, X2))
U26(ok(X)) → ok(U26(X))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U32(mark(X1), X2) → mark(U32(X1, X2))
U33(ok(X)) → ok(U33(X))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ UsableRulesReductionPairsProof
              ↳ QDP
                ↳ Narrowing
                  ↳ QDP
                    ↳ Narrowing
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ QDP
                            ↳ QDPOrderProof
                              ↳ QDP
                                ↳ QDPOrderProof
                                  ↳ QDP
                                    ↳ QDPOrderProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
                                          ↳ QDP
                                            ↳ QDPOrderProof
QDP

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(U71(tt, x0, x1))) → TOP(mark(U72(isPalListKind(x0), x1)))
TOP(ok(U25(x0, x1))) → TOP(U25(active(x0), x1))
TOP(ok(U56(x0))) → TOP(U56(active(x0)))
TOP(mark(U51(x0, x1, x2))) → TOP(U51(proper(x0), proper(x1), proper(x2)))
TOP(mark(U13(x0))) → TOP(U13(proper(x0)))
TOP(ok(U11(tt, x0))) → TOP(mark(U12(isPalListKind(x0), x0)))
TOP(ok(U22(x0, x1, x2))) → TOP(U22(active(x0), x1, x2))
TOP(mark(__(x0, x1))) → TOP(__(proper(x0), proper(x1)))
TOP(mark(U44(x0, x1, x2))) → TOP(U44(proper(x0), proper(x1), proper(x2)))
TOP(mark(U73(x0, x1))) → TOP(U73(proper(x0), proper(x1)))
TOP(ok(U53(tt, x0, x1))) → TOP(mark(U54(isPalListKind(x1), x0, x1)))
TOP(mark(U74(x0))) → TOP(U74(proper(x0)))
TOP(mark(U21(x0, x1, x2))) → TOP(U21(proper(x0), proper(x1), proper(x2)))
TOP(ok(U22(tt, x0, x1))) → TOP(mark(U23(isPalListKind(x1), x0, x1)))
TOP(ok(U73(tt, x0))) → TOP(mark(U74(isPalListKind(x0))))
TOP(mark(U56(x0))) → TOP(U56(proper(x0)))
TOP(ok(U74(x0))) → TOP(U74(active(x0)))
TOP(mark(U63(x0))) → TOP(U63(proper(x0)))
TOP(ok(U63(x0))) → TOP(U63(active(x0)))
TOP(ok(U83(x0))) → TOP(U83(active(x0)))
TOP(ok(U31(x0, x1))) → TOP(U31(active(x0), x1))
TOP(ok(U33(x0))) → TOP(U33(active(x0)))
TOP(mark(U22(x0, x1, x2))) → TOP(U22(proper(x0), proper(x1), proper(x2)))
TOP(mark(U61(x0, x1))) → TOP(U61(proper(x0), proper(x1)))
TOP(mark(U82(x0, x1))) → TOP(U82(proper(x0), proper(x1)))
TOP(ok(U44(x0, x1, x2))) → TOP(U44(active(x0), x1, x2))
TOP(ok(U24(tt, x0, x1))) → TOP(mark(U25(isList(x0), x1)))
TOP(ok(U91(tt, x0))) → TOP(mark(U92(isPalListKind(x0))))
TOP(ok(U26(x0))) → TOP(U26(active(x0)))
TOP(ok(U23(x0, x1, x2))) → TOP(U23(active(x0), x1, x2))
TOP(mark(U81(x0, x1))) → TOP(U81(proper(x0), proper(x1)))
TOP(ok(U91(x0, x1))) → TOP(U91(active(x0), x1))
TOP(ok(U54(x0, x1, x2))) → TOP(U54(active(x0), x1, x2))
TOP(ok(U52(tt, x0, x1))) → TOP(mark(U53(isPalListKind(x1), x0, x1)))
TOP(mark(isNePal(x0))) → TOP(isNePal(proper(x0)))
TOP(mark(U52(x0, x1, x2))) → TOP(U52(proper(x0), proper(x1), proper(x2)))
TOP(ok(U71(x0, x1, x2))) → TOP(U71(active(x0), x1, x2))
TOP(ok(U25(tt, x0))) → TOP(mark(U26(isList(x0))))
TOP(ok(U81(x0, x1))) → TOP(U81(active(x0), x1))
TOP(ok(U12(x0, x1))) → TOP(U12(active(x0), x1))
TOP(mark(U41(x0, x1, x2))) → TOP(U41(proper(x0), proper(x1), proper(x2)))
TOP(ok(U81(tt, x0))) → TOP(mark(U82(isPalListKind(x0), x0)))
TOP(ok(U53(x0, x1, x2))) → TOP(U53(active(x0), x1, x2))
TOP(ok(U45(tt, x0))) → TOP(mark(U46(isNeList(x0))))
TOP(ok(U61(tt, x0))) → TOP(mark(U62(isPalListKind(x0), x0)))
TOP(ok(U12(tt, x0))) → TOP(mark(U13(isNeList(x0))))
TOP(ok(U43(x0, x1, x2))) → TOP(U43(active(x0), x1, x2))
TOP(ok(U41(x0, x1, x2))) → TOP(U41(active(x0), x1, x2))
TOP(ok(U13(x0))) → TOP(U13(active(x0)))
TOP(mark(U92(x0))) → TOP(U92(proper(x0)))
TOP(ok(U52(x0, x1, x2))) → TOP(U52(active(x0), x1, x2))
TOP(mark(U72(x0, x1))) → TOP(U72(proper(x0), proper(x1)))
TOP(mark(isPalListKind(x0))) → TOP(isPalListKind(proper(x0)))
TOP(mark(U53(x0, x1, x2))) → TOP(U53(proper(x0), proper(x1), proper(x2)))
TOP(ok(U44(tt, x0, x1))) → TOP(mark(U45(isList(x0), x1)))
TOP(ok(U72(x0, x1))) → TOP(U72(active(x0), x1))
TOP(mark(U23(x0, x1, x2))) → TOP(U23(proper(x0), proper(x1), proper(x2)))
TOP(mark(U54(x0, x1, x2))) → TOP(U54(proper(x0), proper(x1), proper(x2)))
TOP(mark(U11(x0, x1))) → TOP(U11(proper(x0), proper(x1)))
TOP(ok(U45(x0, x1))) → TOP(U45(active(x0), x1))
TOP(ok(U82(tt, x0))) → TOP(mark(U83(isNePal(x0))))
TOP(mark(U91(x0, x1))) → TOP(U91(proper(x0), proper(x1)))
TOP(ok(U21(tt, x0, x1))) → TOP(mark(U22(isPalListKind(x0), x0, x1)))
TOP(mark(U83(x0))) → TOP(U83(proper(x0)))
TOP(mark(U71(x0, x1, x2))) → TOP(U71(proper(x0), proper(x1), proper(x2)))
TOP(ok(__(x0, x1))) → TOP(__(x0, active(x1)))
TOP(mark(U46(x0))) → TOP(U46(proper(x0)))
TOP(mark(U42(x0, x1, x2))) → TOP(U42(proper(x0), proper(x1), proper(x2)))
TOP(mark(U31(x0, x1))) → TOP(U31(proper(x0), proper(x1)))
TOP(ok(U61(x0, x1))) → TOP(U61(active(x0), x1))
TOP(ok(U73(x0, x1))) → TOP(U73(active(x0), x1))
TOP(ok(U72(tt, x0))) → TOP(mark(U73(isPal(x0), x0)))
TOP(ok(U31(tt, x0))) → TOP(mark(U32(isPalListKind(x0), x0)))
TOP(ok(U21(x0, x1, x2))) → TOP(U21(active(x0), x1, x2))
TOP(mark(isList(x0))) → TOP(isList(proper(x0)))
TOP(mark(U24(x0, x1, x2))) → TOP(U24(proper(x0), proper(x1), proper(x2)))
TOP(ok(U54(tt, x0, x1))) → TOP(mark(U55(isNeList(x0), x1)))
TOP(mark(U45(x0, x1))) → TOP(U45(proper(x0), proper(x1)))
TOP(ok(U11(x0, x1))) → TOP(U11(active(x0), x1))
TOP(ok(__(__(x0, x1), x2))) → TOP(mark(__(x0, __(x1, x2))))
TOP(mark(U25(x0, x1))) → TOP(U25(proper(x0), proper(x1)))
TOP(ok(U24(x0, x1, x2))) → TOP(U24(active(x0), x1, x2))
TOP(ok(U82(x0, x1))) → TOP(U82(active(x0), x1))
TOP(ok(isList(__(x0, x1)))) → TOP(mark(U21(isPalListKind(x0), x0, x1)))
TOP(ok(U32(tt, x0))) → TOP(mark(U33(isQid(x0))))
TOP(mark(U55(x0, x1))) → TOP(U55(proper(x0), proper(x1)))
TOP(ok(U55(x0, x1))) → TOP(U55(active(x0), x1))
TOP(mark(U33(x0))) → TOP(U33(proper(x0)))
TOP(ok(U62(x0, x1))) → TOP(U62(active(x0), x1))
TOP(mark(U12(x0, x1))) → TOP(U12(proper(x0), proper(x1)))
TOP(ok(U92(x0))) → TOP(U92(active(x0)))
TOP(ok(U55(tt, x0))) → TOP(mark(U56(isList(x0))))
TOP(mark(U62(x0, x1))) → TOP(U62(proper(x0), proper(x1)))
TOP(ok(__(x0, x1))) → TOP(__(active(x0), x1))
TOP(ok(U46(x0))) → TOP(U46(active(x0)))
TOP(ok(U42(tt, x0, x1))) → TOP(mark(U43(isPalListKind(x1), x0, x1)))
TOP(mark(U26(x0))) → TOP(U26(proper(x0)))
TOP(mark(isNeList(x0))) → TOP(isNeList(proper(x0)))
TOP(ok(U43(tt, x0, x1))) → TOP(mark(U44(isPalListKind(x1), x0, x1)))
TOP(ok(U51(x0, x1, x2))) → TOP(U51(active(x0), x1, x2))
TOP(ok(U32(x0, x1))) → TOP(U32(active(x0), x1))
TOP(mark(U43(x0, x1, x2))) → TOP(U43(proper(x0), proper(x1), proper(x2)))
TOP(ok(isList(x0))) → TOP(mark(U11(isPalListKind(x0), x0)))
TOP(ok(U23(tt, x0, x1))) → TOP(mark(U24(isPalListKind(x1), x0, x1)))
TOP(ok(U62(tt, x0))) → TOP(mark(U63(isQid(x0))))
TOP(mark(U32(x0, x1))) → TOP(U32(proper(x0), proper(x1)))
TOP(ok(U42(x0, x1, x2))) → TOP(U42(active(x0), x1, x2))

The TRS R consists of the following rules:

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt, V)) → mark(U12(isPalListKind(V), V))
active(U12(tt, V)) → mark(U13(isNeList(V)))
active(U13(tt)) → mark(tt)
active(U21(tt, V1, V2)) → mark(U22(isPalListKind(V1), V1, V2))
active(U22(tt, V1, V2)) → mark(U23(isPalListKind(V2), V1, V2))
active(U23(tt, V1, V2)) → mark(U24(isPalListKind(V2), V1, V2))
active(U24(tt, V1, V2)) → mark(U25(isList(V1), V2))
active(U25(tt, V2)) → mark(U26(isList(V2)))
active(U26(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isPalListKind(V), V))
active(U32(tt, V)) → mark(U33(isQid(V)))
active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isPalListKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isPalListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isPalListKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isList(V1), V2))
active(U45(tt, V2)) → mark(U46(isNeList(V2)))
active(U46(tt)) → mark(tt)
active(U51(tt, V1, V2)) → mark(U52(isPalListKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isPalListKind(V2), V1, V2))
active(U53(tt, V1, V2)) → mark(U54(isPalListKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNeList(V1), V2))
active(U55(tt, V2)) → mark(U56(isList(V2)))
active(U56(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isPalListKind(V), V))
active(U62(tt, V)) → mark(U63(isQid(V)))
active(U63(tt)) → mark(tt)
active(U71(tt, I, P)) → mark(U72(isPalListKind(I), P))
active(U72(tt, P)) → mark(U73(isPal(P), P))
active(U73(tt, P)) → mark(U74(isPalListKind(P)))
active(U74(tt)) → mark(tt)
active(U81(tt, V)) → mark(U82(isPalListKind(V), V))
active(U82(tt, V)) → mark(U83(isNePal(V)))
active(U83(tt)) → mark(tt)
active(U91(tt, V2)) → mark(U92(isPalListKind(V2)))
active(U92(tt)) → mark(tt)
active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(U21(isPalListKind(V1), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))
active(isNeList(__(V1, V2))) → mark(U41(isPalListKind(V1), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(isPalListKind(V1), V1, V2))
active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), I, P))
active(isPal(V)) → mark(U81(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)
active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)
active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)
active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)
active(isPalListKind(__(V1, V2))) → mark(U91(isPalListKind(V1), V2))
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(U11(X1, X2)) → U11(active(X1), X2)
active(U12(X1, X2)) → U12(active(X1), X2)
active(U13(X)) → U13(active(X))
active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2, X3)) → U22(active(X1), X2, X3)
active(U23(X1, X2, X3)) → U23(active(X1), X2, X3)
active(U24(X1, X2, X3)) → U24(active(X1), X2, X3)
active(U25(X1, X2)) → U25(active(X1), X2)
active(U26(X)) → U26(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)
active(U32(X1, X2)) → U32(active(X1), X2)
active(U33(X)) → U33(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)
active(U42(X1, X2, X3)) → U42(active(X1), X2, X3)
active(U43(X1, X2, X3)) → U43(active(X1), X2, X3)
active(U44(X1, X2, X3)) → U44(active(X1), X2, X3)
active(U45(X1, X2)) → U45(active(X1), X2)
active(U46(X)) → U46(active(X))
active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2, X3)) → U52(active(X1), X2, X3)
active(U53(X1, X2, X3)) → U53(active(X1), X2, X3)
active(U54(X1, X2, X3)) → U54(active(X1), X2, X3)
active(U55(X1, X2)) → U55(active(X1), X2)
active(U56(X)) → U56(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X1, X2)) → U62(active(X1), X2)
active(U63(X)) → U63(active(X))
active(U71(X1, X2, X3)) → U71(active(X1), X2, X3)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U73(X1, X2)) → U73(active(X1), X2)
active(U74(X)) → U74(active(X))
active(U81(X1, X2)) → U81(active(X1), X2)
active(U82(X1, X2)) → U82(active(X1), X2)
active(U83(X)) → U83(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U92(mark(X)) → mark(U92(X))
U92(ok(X)) → ok(U92(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U83(mark(X)) → mark(U83(X))
U83(ok(X)) → ok(U83(X))
U82(mark(X1), X2) → mark(U82(X1, X2))
U82(ok(X1), ok(X2)) → ok(U82(X1, X2))
U81(mark(X1), X2) → mark(U81(X1, X2))
U81(ok(X1), ok(X2)) → ok(U81(X1, X2))
U74(mark(X)) → mark(U74(X))
U74(ok(X)) → ok(U74(X))
U73(mark(X1), X2) → mark(U73(X1, X2))
U73(ok(X1), ok(X2)) → ok(U73(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U71(mark(X1), X2, X3) → mark(U71(X1, X2, X3))
U71(ok(X1), ok(X2), ok(X3)) → ok(U71(X1, X2, X3))
U63(mark(X)) → mark(U63(X))
U63(ok(X)) → ok(U63(X))
U62(mark(X1), X2) → mark(U62(X1, X2))
U62(ok(X1), ok(X2)) → ok(U62(X1, X2))
U61(mark(X1), X2) → mark(U61(X1, X2))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U56(mark(X)) → mark(U56(X))
U56(ok(X)) → ok(U56(X))
U55(mark(X1), X2) → mark(U55(X1, X2))
U55(ok(X1), ok(X2)) → ok(U55(X1, X2))
U54(mark(X1), X2, X3) → mark(U54(X1, X2, X3))
U54(ok(X1), ok(X2), ok(X3)) → ok(U54(X1, X2, X3))
U53(mark(X1), X2, X3) → mark(U53(X1, X2, X3))
U53(ok(X1), ok(X2), ok(X3)) → ok(U53(X1, X2, X3))
U52(mark(X1), X2, X3) → mark(U52(X1, X2, X3))
U52(ok(X1), ok(X2), ok(X3)) → ok(U52(X1, X2, X3))
U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U46(mark(X)) → mark(U46(X))
U46(ok(X)) → ok(U46(X))
U45(mark(X1), X2) → mark(U45(X1, X2))
U45(ok(X1), ok(X2)) → ok(U45(X1, X2))
U44(mark(X1), X2, X3) → mark(U44(X1, X2, X3))
U44(ok(X1), ok(X2), ok(X3)) → ok(U44(X1, X2, X3))
U43(mark(X1), X2, X3) → mark(U43(X1, X2, X3))
U43(ok(X1), ok(X2), ok(X3)) → ok(U43(X1, X2, X3))
U42(mark(X1), X2, X3) → mark(U42(X1, X2, X3))
U42(ok(X1), ok(X2), ok(X3)) → ok(U42(X1, X2, X3))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))
U33(mark(X)) → mark(U33(X))
U33(ok(X)) → ok(U33(X))
U32(mark(X1), X2) → mark(U32(X1, X2))
U32(ok(X1), ok(X2)) → ok(U32(X1, X2))
U31(mark(X1), X2) → mark(U31(X1, X2))
U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U26(mark(X)) → mark(U26(X))
U26(ok(X)) → ok(U26(X))
U25(mark(X1), X2) → mark(U25(X1, X2))
U25(ok(X1), ok(X2)) → ok(U25(X1, X2))
U24(mark(X1), X2, X3) → mark(U24(X1, X2, X3))
U24(ok(X1), ok(X2), ok(X3)) → ok(U24(X1, X2, X3))
U23(mark(X1), X2, X3) → mark(U23(X1, X2, X3))
U23(ok(X1), ok(X2), ok(X3)) → ok(U23(X1, X2, X3))
U22(mark(X1), X2, X3) → mark(U22(X1, X2, X3))
U22(ok(X1), ok(X2), ok(X3)) → ok(U22(X1, X2, X3))
U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U13(mark(X)) → mark(U13(X))
U13(ok(X)) → ok(U13(X))
U12(mark(X1), X2) → mark(U12(X1, X2))
U12(ok(X1), ok(X2)) → ok(U12(X1, X2))
U11(mark(X1), X2) → mark(U11(X1, X2))
U11(ok(X1), ok(X2)) → ok(U11(X1, X2))
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
__(ok(X1), ok(X2)) → ok(__(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(U12(X1, X2)) → U12(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))
proper(U13(X)) → U13(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2, X3)) → U22(proper(X1), proper(X2), proper(X3))
proper(U23(X1, X2, X3)) → U23(proper(X1), proper(X2), proper(X3))
proper(U24(X1, X2, X3)) → U24(proper(X1), proper(X2), proper(X3))
proper(U25(X1, X2)) → U25(proper(X1), proper(X2))
proper(isList(X)) → isList(proper(X))
proper(U26(X)) → U26(proper(X))
proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X1, X2)) → U32(proper(X1), proper(X2))
proper(U33(X)) → U33(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))
proper(U42(X1, X2, X3)) → U42(proper(X1), proper(X2), proper(X3))
proper(U43(X1, X2, X3)) → U43(proper(X1), proper(X2), proper(X3))
proper(U44(X1, X2, X3)) → U44(proper(X1), proper(X2), proper(X3))
proper(U45(X1, X2)) → U45(proper(X1), proper(X2))
proper(U46(X)) → U46(proper(X))
proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2, X3)) → U52(proper(X1), proper(X2), proper(X3))
proper(U53(X1, X2, X3)) → U53(proper(X1), proper(X2), proper(X3))
proper(U54(X1, X2, X3)) → U54(proper(X1), proper(X2), proper(X3))
proper(U55(X1, X2)) → U55(proper(X1), proper(X2))
proper(U56(X)) → U56(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X1, X2)) → U62(proper(X1), proper(X2))
proper(U63(X)) → U63(proper(X))
proper(U71(X1, X2, X3)) → U71(proper(X1), proper(X2), proper(X3))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U73(X1, X2)) → U73(proper(X1), proper(X2))
proper(isPal(X)) → isPal(proper(X))
proper(U74(X)) → U74(proper(X))
proper(U81(X1, X2)) → U81(proper(X1), proper(X2))
proper(U82(X1, X2)) → U82(proper(X1), proper(X2))
proper(U83(X)) → U83(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.